Hello Kurt.

By your solution, would it be possible to announce no prefix over the
upstream that you want to shutdown (export none;)? 

About "local preference", I thought it is only applicable for IBGP not
for EBGP but it seems it can now be used for eBGP neighbors (as
described by allow bgp_local_pref switch at bird BGP doc).

We will keep you updated with our results so others can take advantage
of them too.

Best Regards.



You could announce more specific routes on the upstream that you want to keep and make sure you're outgoing traffic goes via the upstream you want to keep by  example higher local pref.


kurt

Op vr 7 dec. 2018 22:53 schreef Francis Brosnan Blázquez <francis.brosnan@aspl.es:

Hello.

We are using bird with several upstream providers, all of them with a
share of traffic.

We are in the process of shutting down one of them but we are unsure
how to proceed to minimize loss of traffic.

We have been reading and looking for general recommendations but it is
not clear (besides using graceful shutdown which is not supported by
the upstream we want to shutdown).

We have been looking at mailing list but we haven't found anything
treating this matter.

So far, solutions we have come up are:

1) Use AS-path prepend to increase metric on the uptstream to be
shutted down and once nearly no traffic comes in through that link, shutdown
BGP and unplug. Something like:

    export filter {                                                                                                                                                                                                                      
                                                                                                                                                                                                                                         
          if source = RTS_STATIC then { # Export only static routes                                                                                                                                                                      
                 # Assign our community                                                                                                                                                                                                  
                 bgp_community.add((65000,64501));                                                                                                                                                                                       
                 # Artificially increase path length                                                                                                                                                                                     
                 # by advertising local AS number twice                                                                                                                                                                                  
                 if bgp_path ~ [= 65000 =] then                                                                                                                                                                                          
                      bgp_path.prepend(65000);
                      bgp_path.prepend(65000);
                 accept;                                                                                                                                                                                                                 
           }                                                                                                                                                                                                                              
          reject;                                                                                                                                                                                                                        
    };                        

2) Another solution is to just shutdown BGP session but leave upstream
connected and configured (so outdated routers we still reach us...).

3) And the obvious, just shutdown BGP session and unplug the cable.

It would be great to know your opinion and what's the recommended way
to proceed.

What do you think?

Many thanks
Best Regards.





-- 
Francis Brosnan Blázquez  -  ASPL
http://www.asplhosting.com/
http://www.aspl.es/
https://twitter.com/aspl_es
https://twitter.com/asplhosting
https://twitter.com/francisbrosnanb
https://es.linkedin.com/in/francis-brosnan-blázquez-1353a218

91 134 14 22 - 91 134 14 45 - 91 116 07 57
Av. Juan Carlos I 13, 2ºC, Torre Garena
28806 - Alcalá de Henares (España)

AVISO LEGAL
 
En virtud de lo dispuesto en la Ley Orgánica 15/1999, de 13 de
diciembre, de Protección de Datos de Carácter Personal, le informamos de
que sus datos de carácter personal, recogidos de fuentes accesibles al
público o datos que usted nos ha facilitado previamente, proceden de
bases de datos propiedad de Advanced Software Production Line, S.L.
(ASPL).
 
ASPL garantiza que los datos serán tratados con la finalidad de mantener
las oportunas relaciones comerciales o promocionales con usted o la
entidad que usted representa. No obstante, usted puede ejercitar sus
derechos de acceso, rectificación, cancelación y oposición dispuestos en
la mencionada Ley Orgánica, notificándolo por escrito a ASPL -
Protección Datos, Av. Juan Carlos I 13, 2ºC, Alcalá de Henares
(Madrid).