Re: [GROW] draft-ietf-grow-bgp-gshut

Job Snijders <job@ntt.net> Thu, 22 June 2017 20:47 UTC

Return-Path: <job@instituut.net>
X-Original-To: grow@ietfa.amsl.com
Delivered-To: grow@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 94DD2129AA8 for <grow@ietfa.amsl.com>; Thu, 22 Jun 2017 13:47:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.699
X-Spam-Level:
X-Spam-Status: No, score=-4.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-2.8] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id B7edcU4-6i92 for <grow@ietfa.amsl.com>; Thu, 22 Jun 2017 13:47:10 -0700 (PDT)
Received: from mail-wr0-f181.google.com (mail-wr0-f181.google.com [209.85.128.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 88D2F12869B for <grow@ietf.org>; Thu, 22 Jun 2017 13:47:10 -0700 (PDT)
Received: by mail-wr0-f181.google.com with SMTP id k67so38956971wrc.2 for <grow@ietf.org>; Thu, 22 Jun 2017 13:47:10 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=Sz3g7A3YGx2GRKzddCoCaalQTPluJ+tpaLpsxtFlxos=; b=qGHKipx80yBm+AjZolLaFPYQHAUHwTOuZSNtjfIofcZ8n/cFYG5UdN3hPRPlnZHgA3 hocbzNAtrzV+yIaz3oi77xHY1dHjBICUYEmY+ioQ3haJHATlj6hgiugvGtHyv+1R0LO+ 6ftlHukmmWfuBuDArYwHxC01n4xwFXQ9FtpfaMQ7+jLDBV/zkPUCryuDbNa4IxPVg25c mrZNIUhfyc0beUQnJD8k9CCcQYUOJaLZDBYGAHnc85/ZFzzWJLV2dhAFhGwHvakqmrPX xlGD3rvegUcI+S0q7wknw+gi/RYXvGDcw+a7HdEW0sdeWmmlgcMrPRRa9FwfxiZeBBwu zcNw==
X-Gm-Message-State: AKS2vOyAeoLXCpfme0U0QqtgUd88Fei03Yxpr7rbkIhCOrDiOaNoc1o9 tIhkk0gtQY30RSKm
X-Received: by 10.80.151.171 with SMTP id e40mr3931819edb.61.1498164428721; Thu, 22 Jun 2017 13:47:08 -0700 (PDT)
Received: from localhost ([2001:67c:208c:10:8cd5:333e:d33d:4427]) by smtp.gmail.com with ESMTPSA id k17sm1477271edb.37.2017.06.22.13.47.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 22 Jun 2017 13:47:06 -0700 (PDT)
Date: Thu, 22 Jun 2017 22:47:05 +0200
From: Job Snijders <job@ntt.net>
To: bruno.decraene@orange.com, grow@ietf.org
Message-ID: <20170622204705.5mxd5wqumzty2sji@Vurt.local>
References: <29960_1498125839_594B960F_29960_120_12_53C29892C857584299CBF5D05346208A477A3E0C@OPEXCLILM21.corporate.adroot.infra.ftgroup>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <29960_1498125839_594B960F_29960_120_12_53C29892C857584299CBF5D05346208A477A3E0C@OPEXCLILM21.corporate.adroot.infra.ftgroup>
X-Clacks-Overhead: GNU Terry Pratchett
User-Agent: NeoMutt/20170609 (1.8.3)
Archived-At: <https://mailarchive.ietf.org/arch/msg/grow/nL6zCPK6yyI5xJY34sASe444Lz0>
Subject: Re: [GROW] draft-ietf-grow-bgp-gshut
X-BeenThere: grow@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Grow Working Group Mailing List <grow.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/grow>, <mailto:grow-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/grow/>
List-Post: <mailto:grow@ietf.org>
List-Help: <mailto:grow-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/grow>, <mailto:grow-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Jun 2017 20:47:14 -0000

Dear working group,

>  > BGP g-shut (possible action for Bruno et al)
>  > --------------------------------------------
>  > 
>  > Bruno promised a new, fresh version of draft-ietf-grow-bgp-gshut which
>  > would focus on the rfc1997 well-known community 65535:0 - I would
>  > appreciate if this is posted at some point so we can make an Informative
>  > reference to a non-zombie draft.  NTT (as2914) & Coloclue (as8283)
>  > implemented experimental rfc1997 gshut support for customers and it
>  > appears to work as advertise (no pun intended ;-).
>  
> https://tools.ietf.org/html/draft-ietf-grow-bgp-gshut-07 has just been posted and addresses the above point.
> 
> As previously discussed on the list, the main technical change is the
> focus, for the eBGP signaling, on the use of a well-known BGP
> community.  In other word, the alternative option to use a
> non-transitive community has been removed, following latest IDR
> discussion on community and the lack of implementation (hence IDR WG
> progress) of draft-ietf-idr-reserved-extended-communities /
> draft.ietf-idr-as4octet-extcomm-generic-subtype.  As a benefit, this
> draft is now aligned with: - the BGP gshut/planned maintenance
> implementations disclosed on this list
> https://mailarchive.ietf.org/arch/msg/grow/ReJtavkJDlyrDo5qoD7u9iJDLXs
> - the deployed usage

fantastic!

I have some comments:

Summary:

I think that the neighbor ASBR should _not_ strip the GSHUT well-known
community, additionally, the place where the low local preference is set
should move closer to the initiator of the gshut.  Instead of setting
the low LP on Adj-RIB-Out to IBGP neighbors, the low LP should be set
during application of the local policy on the relevant Adj-RIB-In.

The above changes would align with current operational practises, i've
learned from numerous people that they use AS-specific "lower LOCAL_PREF
as low as possible" communities from their peers and upstream providers
to trigger path hunting. In current deployments those communities are
often not stripped (in context of IBGP), and the lower LOCAL_PREF is set
on "ebgp-in" rather then "ibgp-out".

Optionally an appendix with an actual router configuration can be
supplied, if there is interest in this I am happy to provide that.

-----
Suggestions:

OLD Abstract:
   This draft describes operational procedures aimed at reducing the
   amount of traffic lost during planned maintenances of routers or
   links, involving the shutdown of BGP peering sessions.
NEW Abstract:
   This draft describes operational procedures aimed at reducing the
   amount of traffic lost during planned maintenances of routers or
   links, involving the shutdown of BGP peering sessions. Additionally
   this document describes the use of a well-known Border Gateway
   Protocol (BGP) community to signal that a graceful shutdown has been
   initiated for the tagged prefix.

OLD (in introduction):
   Still, it explains why reserving a community value for the purpose of
   BGP session graceful shutdown would reduce the management overhead
   bound with the solution.  It would also allow vendors to provide an
   automatic graceful shutdown mechanism that does not require any
   router reconfiguration at maintenance time.
NEW (in introduction):
   This document defines a well-known community value for the purpose of
   reducing the management overhead of gracefully shutting down BGP
   sessions. The well-known community allows implementers to provide an
   automated graceful shutdown mechanism that does not require any
   router reconfiguration at maintenance time.

OLD (in Make before break convergence: g-shut):
   This section describes configurations and actions to be performed for
   the graceful shutdown of eBGP sessions, iBGP sessions or a whole BGP
   speaker.
NEW:
   This section describes configurations and actions to be performed for
   the graceful shutdown of BGP sessions.

OLD (in Pre-configuration):
   On each ASBR supporting the g-shut procedure, an outbound BGP route
   policy is applied on all iBGP sessions of the ASBR, that:
   o  matches the g-shut community
   o  sets the LOCAL_PREF attribute of the paths tagged with the g-shut
      community to a low value
   o  removes the g-shut community from the paths.
   o  optionally, adds an AS specific g-shut community on these paths to
      indicate that these are to be withdrawn soon.  If some ingress
      ASBRs reset the LOCAL_PREF attribute, this AS specific g-shut
      community will be used to override other LOCAL_PREF preference
      changes.
NEW (in Pre-configuration):
   On each ASBR supporting the g-shut procedure, an inbound BGP route
   policy is applied on all BGP sessions of the ASBR, that:
   o  matches the g-shut community
   o  sets the LOCAL_PREF attribute of the paths tagged with the g-shut
      community to a low value (a value of zero is recommended).

OLD (in Operations at maintenance time):
   On the g-shut initiator, upon maintenance time, it is required to:
   o  apply an outbound BGP route policy on the maintained eBGP session
      to tag the paths propagated over the session with the g-shut
      community.  This will trigger the BGP implementation to re-
      advertise all active routes previously advertised, and tag them
      with the g-shut community.
   o  apply an inbound BGP route policy on the maintained eBGP session
      to tag the paths received over the session with the g-shut
      community.
   o  wait for convergence to happen.
   o  perform a BGP session shutdown.
NEW (in Operations at maintenance time):
   On the g-shut initiator, upon maintenance time, it is required to:
   o  apply an outbound BGP route policy on the maintained EBGP session
      to tag the paths propagated over the session with the g-shut
      community. This will trigger the BGP implementation to re-
      advertise all active routes previously advertised, and tag them
      with the g-shut community.
   o  apply an inbound BGP route policy on the maintained EBGP session
      to tag the paths received over the session with the g-shut
      community and set a low LOCAL_PREF value.
   o  wait for convergence to happen.
   o  shutdown the EBGP session, optionally using [RFC-To-Be
      draft-ietf-idr-shutdown] to signal the reason of the shutdown.


OLD (in BGP implementation support for g-Shut):
   1.  On the eBGP side, update all the paths propagated over the
       corresponding eBGP session, tagging the g-shut community to them.
       Any subsequent update sent to the session being gracefully shut
       down would be tagged with the g-shut community.
   2.  On the iBGP side, lower the LOCAL_PREF value of the paths
       received over the eBGP session being shut down, upon their
       propagation over iBGP sessions.  Optionally, also tag these paths
       with an AS specific g-shut community.
NEW (in BGP implementation support for g-Shut):
   1.  On the EBGP side, update all the paths propagated over the
       corresponding eBGP session, tagging the g-shut community to them.
       Any subsequent update sent to the session being gracefully shut
       down would be tagged with the g-shut community.
   2.  lower the LOCAL_PREF value of the paths received over the EBGP
       session being shut down.

OLD:
7.  IANA assigned g-shut BGP community
   Applying the g-shut procedure is rendered much easier with the use of
   a single g-shut BGP community value [RFC1997] which could be used on
   all eBGP sessions, for both inbound and outbound signaling.  The
   community value 0xFFFF0000 has been assigned by IANA for this
   purpose.
8.  IANA Considerations
   This document has no actions for IANA.
NEW:
7.  IANA Considerations
   The IANA has assigned the value 0xFFFF0000 to the planned-shut
   community in the "BGP Well-known Communities" registry. IANA is
   requested to change the name planned-shut to GRACEFUL_SHUTDOWN.
------

Kind regards,

Job