Hello André,
(with my BIRD Team hat on)
On Thu, Jun 26, 2025 at 12:27:04PM +0200, André Grüneberg wrote:
We have now (silently) implemented OTC handling in our route servers without setting the role in the protocol.
Oh nice!
For the reference, we extended the ingress filter with:
define IXP_LC_FILTERED_ROUTE_LEAK_DETECTED = ( routeserverasn, 1101, 50 ); if defined( bgp_otc ) then { bgp_large_community.add( IXP_LC_FILTERED_ROUTE_LEAK_DETECTED ); }
The egress filter (which already implicitly rejects routes with the community above) was enhanced with: if ! defined( bgp_otc ) then { bgp_otc = routeserverasn; }
Looks feasible and correct on first sight.
I’d really love to also announce the roles capability, but we’d need some way in Bird to say “do not treat-as-withdraw”. Is there any chance we can get this functionality?
We are expecting to implement this. Considering current short-term planning, it may come back to our table in the late autumn. (This is not a deadline promise.) We could obviously implement this as a non-systematic hack like tomorrow or so, but that would make our code much less maintainable.
Thank you for the feature request, have a nice summer!
Maria
–
Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.