<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hello Robert, <br>
<br>
you are totally right!<br>
<br>
We investigated this for a bit and found that due to our oversight
in the grammar of the config, it was only possible to write a <b>single</b>
option in the thread group block.<br>
<br>
It should be fixed on a branch here:
<a class="moz-txt-link-freetext" href="https://gitlab.nic.cz/labs/bird/-/tree/dp-fix-thead-group-conf?ref_type=heads">https://gitlab.nic.cz/labs/bird/-/tree/dp-fix-thead-group-conf?ref_type=heads</a><br>
<br>
We will try to back-port this patch to v3.1 so hopefully it will
land in v3.1.3.<br>
<br>
Thanks a lot for the bug report!<br>
<br>
Have a good rest of the week, <br>
David</p>
<pre class="moz-signature" cols="72">David Petera (he/him) | BIRD Tech Support | CZ.NIC, z.s.p.o.</pre>
<div class="moz-cite-prefix">On 8/21/25 21:16, Robert Lister wrote:<br>
</div>
<blockquote type="cite"
cite="mid:0cb40b60-4636-47a2-9fbf-e64753eb714c@lonap.net">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="viewport"
content="width=device-width, initial-scale=1.0">
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">Hello,</span>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">According
to the docs for v3.1.2 and v3.1.1:</span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><a
href="https://bird.nic.cz/doc/bird-3.1.2.html#global-opts"
moz-do-not-send="true" class="moz-txt-link-freetext">https://bird.nic.cz/doc/bird-3.1.2.html#global-opts</a> </span>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><b>Thread
setup</b></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">[..]</span>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">Thread
groups are configured by writing <span style="font-family:;"
courier="" new_,="" courier,="" monospace;_="">thread group</span>
<i>name </i>{} blocks, which contain </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">the
following options:</span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">threads </span><i>number</i></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">default </span><i>bool</i></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><i>[...]</i></span>
<br>
<br>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">It also
notes the following:</span> <br>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:inter-regular, sans-serif;"><span
style="color:#00252E;"><span
style="background-color:#00000000;">There is also a
"simple" thread group setting. If you write </span></span></span><b><span
style="font-family:sfmono-regular, menlo, monaco, consolas, ;"
liberation="" mono_,="" _courier="" new_,="" monospace;_=""><span
style="color:#D63384;"><span
style="background-color:#00000000;">threads </span></span></span></b><i><span
style="font-family:inter-regular, sans-serif;"><span
style="color:#00252E;"><span
style="background-color:#00000000;">number</span></span></span></i><span
style="font-family:inter-regular, sans-serif;"><span
style="color:#00252E;"><span
style="background-color:#00000000;"> on top level, it is
equivalent to</span></span></span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:inter-regular, sans-serif;"><span
style="color:#00252E;"><span
style="background-color:#00000000;">setting the worker
group thread count to that number, and the express group
thread count to one.</span></span></span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:inter-regular, sans-serif;"><span
style="color:#00252E;"><span
style="background-color:#00000000;">This setting is
deprecated and may disappear in some future version.</span></span></span></span>
<br>
<br>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">So.. now I
come to setting up a new server, I thought I'd better try to use
this</span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">"new"
config style. But whatever I try doesn't seem to work. I've
tried various</span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">iterations
of:</span> <br>
<br>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">thread group worker {</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""> threads 1;</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">}</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""><span style="color:#E03E2D;">-->
<FATAL> /etc/bird/<a class="moz-txt-link-freetext" href="bird.conf:55:10">bird.conf:55:10</a> No default thread
group configured</span></span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">thread group worker {</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""> default;</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""> threads 1;</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">}</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""><span style="color:#E03E2D;">-->
<FATAL> /etc/bird/<a class="moz-txt-link-freetext" href="bird.conf:43:2">bird.conf:43:2</a> syntax error,
unexpected THREADS, expecting '}'</span></span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">thread group worker {</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""> threads 1;</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""> default yes;</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">}</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""><span style="color:#E03E2D;">-->
<FATAL> /etc/bird/<a class="moz-txt-link-freetext" href="bird.conf:43:2">bird.conf:43:2</a> syntax error,
unexpected DEFAULT, expecting '}'</span></span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">thread group worker {</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""> threads 1;</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""> default;</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">}</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="color:#E03E2D;"><span style="font-family:;" courier=""
new_,="" courier,="" monospace;_="">--> <FATAL>
/etc/bird/<a class="moz-txt-link-freetext" href="bird.conf:43:2">bird.conf:43:2</a> syntax error, unexpected DEFAULT,
expecting '}'</span></span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">Weirdly, if
I configure only "default;" with no other options, it accepts
the config:</span> <br>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">thread group worker {</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""> default;</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">}</span></span> <br>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""><span style="color:#169179;">root@<a class="moz-txt-link-freetext" href="rc01:/#">rc01:/#</a>
/usr/local/sbin/bird -c /etc/bird/bird.conf -p</span></span></span>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""><span style="color:#169179;">root@<a class="moz-txt-link-freetext" href="rc01:/#">rc01:/#</a></span></span></span>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">If I add
the (deprecated) top-level "threads", it complains I've got them
both configured:</span> <br>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">threads 1;</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""> </span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">thread group worker {</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""> default;</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""> threads 1;</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">}</span></span> <br>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""><span style="color:#E03E2D;">-->
<FATAL> /etc/bird/<a class="moz-txt-link-freetext" href="bird.conf:41:14">bird.conf:41:14</a> Mixing of `threads
NUM` and `threads worker {}` is not allowed.</span></span></span>
<br>
<br>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">As soon as
I try any other config options, it doesn't accept it:</span> <br>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">thread group worker {</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""> default;</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""> wakeup time 31415 s;</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">}</span></span> <br>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""><span style="color:#E03E2D;">-->
<FATAL> /etc/bird/<a class="moz-txt-link-freetext" href="bird.conf:43:2">bird.conf:43:2</a> syntax error,
unexpected WAKEUP, expecting '}'</span></span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">Also tried:</span>
<br>
<br>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">thread group {</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""> worker {</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""> threads 1;</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""> default;</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""> };</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">}</span></span> <br>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">---</span>
<br>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">- nope.</span>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">thread group worker {</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""> threads 1;</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">}</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""> </span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">thread group express {</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""> threads 1;</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">}</span></span> <br>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""><span style="color:#E03E2D;">-->
<FATAL> /etc/bird/<a class="moz-txt-link-freetext" href="bird.conf:45:14">bird.conf:45:14</a> syntax error,
unexpected EXPRESS, expecting CF_SYM_KNOWN or
CF_SYM_UNDEFINED</span></span></span> <br>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">---</span>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">thread group worker {</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""> threads 2;</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""> default;</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_="">}</span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""><span style="color:#E03E2D;">-->
<FATAL> /etc/bird/<a class="moz-txt-link-freetext" href="bird.conf:43:2">bird.conf:43:2</a> syntax error,
unexpected DEFAULT, expecting '}'</span></span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:verdana, geneva, sans-serif;"><span
style="color:#000000;">---</span></span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""><span style="color:#E03E2D;"><span
style="color:#000000;">thread worker {</span></span></span></span>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""><span style="color:#E03E2D;"><span
style="color:#000000;"> threads 2;</span></span></span></span>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""><span style="color:#E03E2D;"><span
style="color:#000000;"> default;</span></span></span></span>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""><span style="color:#E03E2D;"><span
style="color:#000000;">}</span></span></span></span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><span
style="font-family:;" courier="" new_,="" courier,=""
monospace;_=""><span style="color:#E03E2D;">-->
<FATAL> /etc/bird/<a class="moz-txt-link-freetext" href="bird.conf:41:8">bird.conf:41:8</a> syntax error,
unexpected CF_SYM_UNDEFINED, expecting GROUP</span></span></span>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">So, it
seems the "default" option must be present, but if I add <i>any
</i>other option,</span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">it doesn't
accept it. Oddly, if I put another option before default, it
doesn't complain</span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">about that,
but instead complains about "default" being there.</span> <br>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">I tried
various 3.x versions 3.1.1, 3.1.2 and a couple of recent
branches from git repo.</span> <br>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">As for the
config - I just have the default bird.conf which ships with the
BIRD</span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">debian
package, and I've added the thread group option somewhere near
the top.</span> <br>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">Any hints
on the correct config would be appreciated. Or is this maybe a
bug?</span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">Thanks!</span>
<br>
<br>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">Rob</span>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"> </span> <br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">-- </span>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">Rob Lister</span>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;"><a class="moz-txt-link-abbreviated" href="mailto:rob@lonap.net">rob@lonap.net</a></span>
<br>
<span dir="ltr" style="margin-top:0; margin-bottom:0;">+44 20 3137
8330</span> <br>
<br>
</blockquote>
</body>
</html>