Good morning Nico,

On Fri, Nov 21, 2025 at 09:29:12AM +0100, Nico Schottelius wrote:

thanks for the reply, but I am a bit puzzled, in multiple cases:

Oh that’s ok. BIRD is complex.

Well, well, yes and no. Filtering on …

We expect to add some more options to make this even more powerful, e.g. an additional filter block after the iBGP nexthop resolution, or maybe even some customization of best route selection. This should confuse people even more allow people better customization.

With that, if you wish to export to BGP “first which passes”, you can use secondary in the channel config. You need a sorted table to do that, iirc.

Well, if you do show route filter xyz, then you get all routes matching that filter. Some protocols pick them. You can do show route export bgp_to_internet.ipv6 to explicitly re-run the export filter in that context.

I know that it is kinda confusing, and we should probably improve our documentation to show this properly.

With that, I would simply lower the preference of protocol direct then under 200, maybe to something like 180 which is still more than default babel but less than static, and that should fix your problem. The direct protocol default preference is kinda unreasonably high in your case.

That is possible with the sorted table option and secondary bgp channel option.

So what I am trying to say is that as a user I’d expect the union of attributes to be matching and not only the the current/best selected.

Then we failed to set the user expectation correctly.

Which seems to be what the filter output in the CLI is doing, versus what bird exports.

Yup, because e.g. Pipe takes all while BGP takes best by default, and the show route output does not know which export behavior you prefer. To show only best routes, you can add primary to the show route command.

Does it make sense?

Yes. Welcome to the group of people who got confused by our UI multiple times! We should definitely make it less confusing for future.

Thanks for all of this, it’s a very valuable feedback for us.
Maria


Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.