<html>
 <head>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
 </head>
 <body>
  <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">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/bird.conf:55:10 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/bird.conf:43:2 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/bird.conf:43:2 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/bird.conf:43:2 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@rc01:/# /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@rc01:/#</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/bird.conf:41:14 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/bird.conf:43:2 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/bird.conf:45:14 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/bird.conf:43:2 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/bird.conf:41:8 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;">rob@lonap.net</span>
  <br><span dir="ltr" style="margin-top:0; margin-bottom:0;">+44 20 3137 8330</span>
  <br>
  <br>
 </body>
</html>