inex / IXP-Manager

Full stack web application powering peering at over 200 Internet Exchange Points (IXPs) globally.
https://www.ixpmanager.org/
GNU General Public License v2.0
374 stars 161 forks source link

Add support for graceful shutdown #302

Closed job closed 7 years ago

job commented 7 years ago

Intro

https://tools.ietf.org/html/draft-ietf-grow-bgp-gshut-06 (gshut for short) introduces a well-known BGP community 65535:0 to signal to an adjacent network that the path will disappear due to upcoming maintenance, and as such they should hunt for other paths.

Implementing the receiving side is straight forward:

function allow_graceful_shutdown() {
    if (65535, 0) ~ bgp_community then
        bgp_local_pref = 0;
}

And then just add the appropriate allow_graceful_shutdown(); calls to the filters. I think this can be enabled by default.

This way route server participants can use the graceful shutdown mechanism to signal to the route server that soon the path through them will be unavailable and the route server should select another path (if there is any).

nickhilliard commented 7 years ago

draft-ietf-grow-bgp-gshut was abandoned. if this changes in future, we'll reconsider a patch.

job commented 7 years ago

One of the authors stated:

We will revive it, probably removing the non-transitive community part.

https://mailarchive.ietf.org/arch/msg/grow/hqrJ0vpsVVspEWTadpBZw3vin-M

You want to wait 2 weeks? Or until RFC status?

nickhilliard commented 7 years ago

for this, rfc status + demand from ixp operators

job commented 7 years ago

people weren't asking for semiconductors either ¯\_(ツ)_/¯

nickhilliard commented 7 years ago

nor rollerblade high heels:

https://qph.ec.quoracdn.net/main-qimg-3b06239fc13829001b5054a8c46d36f2-c