Display BGP gateway mode in show protocol output

Douglas Fischer fischerdouglas at gmail.com
Sat Sep 6 12:19:54 CEST 2025


Hi Alexander, David and Sébastien!
Sorry to butt in on this, but this is a topic that really interests me.

Again, just to give you some context, I'm not a programmer!
Just a lazy network operator (in a good way) who sometimes tries to build
his own tools to make his life easier.

About the patch brought by Sébastien
I learned a while ago (the hard way) that parsing outputs is the worst way
to interact with other software. And even though it's terrible, sometimes
it's the only way we have left.
I don't think attaching too many things to birdc right now is wise, but I
understand your pain.


David, Maria, Ondrej
I've been hearing about initiatives in this work regarding the BIRD API.
I think the place I see this mentioned most often is on Alice-LG.
But I end up not seeing anything in detail about it because I don't have
the time I'd like to dedicate to learning by reading code from projects
like Bird.

I'm wondering how this is being planned, and I imagine other lay people
like me are also curious about it.
So I decided to ask if the BIRD team could tell me more about this.
- In the time I've been following the list, I remember several times the
conversations pointed to the direction of netconf/yang.
- I also remember a mention of a no-go for gRPC and gNMI, but I don't
remember the details.
- I also remembered https://github.com/pawelmaslanka/RoutingConfigApi . I
confess I didn't analyze anything, but I think it deserves a mention.
- And briefly, I remembered that every time XML or JSON was mentioned,
Eustace Bagge appeared here on the list. lol.

Even though JSON and gRPC are somewhat forbidden topics here, I'd like to
ask if they ever considered using LSP (which isn't the MPLS LSP, haha).
Language Server Protocol. I was close to a project where a friend who used
LSP transformed a specific software API into something almost like its own
CLI, with smart autocompletes and other very advantageous features from the
operator's perspective.

Thank you in advance.

Em sex., 5 de set. de 2025 às 14:09, Alexander Zubkov via Bird-users <
bird-users at network.cz> escreveu:

> Hi all!
>
> What about adding a selector to show only certain kind of "something".
> "Something" - because there is no actual way to show channels, and a
> protocol can contain mixed channel types, so we cannot filter "show
> protocol" by channel type. But I think it is possible to add a selector for
> routes to see only direct/recursive ones. If we cannot mark them in the
> output because of the compatibility, we can at least select only certain
> kind to know who is who. I think it could be even not "show route ..."
> selector, but some route attribute to be used in a filter. Maybe being able
> to understand the kinds of the routes would work for Sébastien too?
>
> Regards,
> Alexander
>
> On Fri, Sep 5, 2025, 16:04 David Petera via Bird-users <
> bird-users at network.cz> wrote:
>
>> Hello Sébastien!
>>
>> Thanks for sending us these patches, but unfortunately it would *not* be
>> wise to change BIRD's CLI output right now.
>>
>> We discussed it in our team and the the primary reason is this:
>>
>> Since BIRD does not yet have well defined API for communication, most
>> automation and tooling around BIRD (including our own) relies on the exact
>> format of the CLI output.
>> These changes would/could break the tooling around BIRD and cause lot of
>> headache for little gain.
>>
>> We know that this situation is not ideal and thus API for BIRD is being
>> worked on.
>> Once finished we can improve the CLI output without major consequences.
>>
>> Hope you understand, why we can not accept these patches right now.
>>
>> Wish you a great weekend and happy routing!
>> David
>>
>> David Petera (he/him) | BIRD Tech Support | CZ.NIC, z.s.p.o.
>>
>> On 8/25/25 14:35, Sébastien PARISOT wrote:
>>
>> Hello BIRD team!
>>
>> This simple patch (for branch master) adds a field for the BGP channel gateway mode (direct or recursive) setting in show protocol output. It is is a useful information to have in some troubleshooting scenario.
>>
>> Example:
>>
>> bird> show protocol all bgp_test
>> Name             Proto      Table                        State  Since                Info
>> bgp_test           BGP        ---                          up     2025-08-12 15:11:54  Established
>>   BGP state:          Established
>> [...]
>>   Channel ipv6
>>     State:          UP
>> [...]
>>     Gateway: recursive
>> [...]
>>
>> Thanks!
>> --
>> Sébastien
>>
>>

-- 
Douglas Fernando Fischer
Engº de Controle e Automação
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20250906/9650b072/attachment.htm>


More information about the Bird-users mailing list