>More simply, you can add a community on the non-ddos-protected provider to >make them lower the localpref to peer routes, and stop the prepend.
We tried, but some providers basically ignore everything if you have a direct connection with them. They just forward you the traffic despite prepending or localpref. Thanks! Xavier. -----Mensaje original----- De: Bird-users <[email protected]> En nombre de Alarig Le Lay Enviado el: jueves, 24 de marzo de 2022 13:43 Para: [email protected] Asunto: Re: Filter based on BGP protocol status ... On Thu 24 Mar 2022 07:43:03 GMT, Douglas Fischer wrote: > I know that it is not the focus of your question, and also is not the > focus on this mail list, but... > > To that kind of automation, the best BGP engine you will find is > ExaBGP. It is not focuses in been in compliance with all the concepts > of a routing system itself. It's focus is exactly automations using API. > > The scenario you described triggered-me something like a Zabbix > looking to the status of BGP sessions of bird, and based on that doing > API queries to a ExaBGP that is a iBGP peer of Bird. > > This model is used on many tools focused in anomaly detection for > triggering DDoS mitigation. > > > But, if your intention is a much simpler scenario, the suggestion > Maria made is the most common! > You can used also some BGP communities(if your upstream supports it) > for no-export for some prefixes... Sometimes it helps. More simply, you can add a community on the non-ddos-protected provider to make them lower the localpref to peer routes, and stop the prepend. > Em qua., 23 de mar. de 2022 12:10, Xavier Trilla > <[email protected]> > escreveu: > > > Hi, > > > > > > > > I’m quite sure this cannot be done, but I also know there is a lot > > of BIRD I still don’t know, so here it goes: > > > > > > > > Is there any way to filter a export route based on another BGP > > session status? > > > > > > > > For the sake of simplicity let’s say we have just two providers A > > and B, and I only want to export some specific routes to B when A is down. > > > > > > > > I can do it externally with a quite simple script (For example: > > Check if the provider is down via CLI and if it’s down insert the > > routes I want to export to a kernel table and export that to > > provider B) but it would be nice if I could do it directly in Bird. > > > > > > > > I’ve been scratching my head around this, but unless there is > > something like if proto.A == down on the filters I don’t really see > > how to do it (Or maybe some way to raise a global flag based on if > > I’m receiving routes via provider B, but I don’t think that can’t be > > done either.) > > > > > > > > Thanks for your time! > > > > Xavier > > > > > >
