<html><head></head><body><div dir="auto">Hello Łukasz,<br><br>the warning lines are also for several latest versions of BIRD 2 and they just tell you that the return type of the function has been inferred from the return call, instead of you specifying "function foo() -> bool".<br><br>More on that in docs: <<a href="https://bird.nic.cz/doc/bird-3.1.2.html#filters-intro">https://bird.nic.cz/doc/bird-3.1.2.html#filters-intro</a>><br><br>Also please note that 3.1.1 has some serious problems with channel reload when import table is not present, please try 3.1.2 instead.<br><br>Maria<br></div><br><br><div class="gmail_quote"><div dir="auto">On June 3, 2025 5:00:39 PM GMT+02:00, "Łukasz Trąbiński" <lukasz@trabinski.net> wrote:</div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail"><div dir="auto">Hello<br><br>Could You send me example of rpki config for Bird 3.x.x?<br>In 2.x.x, I’m use something like below, but it’s not working with 3.x.x<br><br>Jun  2 23:29:16 peer bird[2100437]: bird: 2025-06-02 23:29:16.712 [0001] <WARN> /etc/bird.conf:67:71: Inferring function is_v4_rpki_invalid return type from its return value: bool<br>Jun  2 23:29:16 peer bird[2100437]: bird: 2025-06-02 23:29:16.712 [0001] <WARN> /etc/bird.conf:71:71: Inferring function is_v6_rpki_invalid return type from its return value: bool<br>Jun  2 23:29:16 peer bird[2100437]: /etc/bird.conf:67:71: Inferring function is_v4_rpki_invalid return type from its return value: bool<br>Jun  2 23:29:16 peer bird[2100437]: /etc/bird.conf:71:71: Inferring function is_v6_rpki_invalid return type from its return value: bool<br><br><br>—snip--<br><br>roa4 table r4;<br>roa6 table r6;<br><br>protocol rpki rpki1<br>{<br>    roa4 { table r4; };<br>    roa6 { table r6; };<br>    remote xx.xx.xx.xx port 3323;<br>    retry 300;<br>}<br><br>function is_v4_rpki_invalid () {<br>  return roa_check(r4, net, bgp_path.last_nonaggregated) = ROA_INVALID;<br>}<br><br>function is_v6_rpki_invalid () {<br>  return roa_check(r6, net, bgp_path.last_nonaggregated) = ROA_INVALID;<br>}<br><br>filters bgp_import {<br> if is_v4_rpki_invalid() then reject;<br> accept;<br>  }<br><br>— snip — <br><br><br><br></div></pre></blockquote></div><div dir="auto"><div class='k9mail-signature'>-- <br>Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.</div></div></body></html>