Re: [Idr] WG adoption for draft-haas-flowspec-capability-bits - 3/30 to 4/13

Jeffrey Haas <> Fri, 09 April 2021 15:22 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id C46143A24B2 for <>; Fri, 9 Apr 2021 08:22:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id lZYPOnvHUXu3 for <>; Fri, 9 Apr 2021 08:22:52 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id ED0B23A24B4 for <>; Fri, 9 Apr 2021 08:22:51 -0700 (PDT)
Received: by (Postfix, from userid 1001) id 228531E459; Fri, 9 Apr 2021 11:45:19 -0400 (EDT)
Date: Fri, 9 Apr 2021 11:45:18 -0400
From: Jeffrey Haas <>
To: Robert Raszuk <>
Cc: "Jakob Heitz (jheitz)" <>, Aijun Wang <>, "Aseem Choudhary (asechoud)" <>, "idr@ietf. org" <>
Message-ID: <>
References: <> <> <> <> <> <> <> <005b01d72cf3$4f39c4a0$edad4de0$> <> <>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <>
User-Agent: Mutt/1.5.21 (2010-09-15)
Archived-At: <>
Subject: Re: [Idr] WG adoption for draft-haas-flowspec-capability-bits - 3/30 to 4/13
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Inter-Domain Routing <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 09 Apr 2021 15:22:54 -0000

On Fri, Apr 09, 2021 at 12:18:18PM +0200, Robert Raszuk wrote:
> All,
> Yes recent comments seems to align with my concern/observations.
> There are two points which make the draft unclear/muddy:
> 1.  A claim that if you use direct BGP sessions between the ultimate single
> target node and controller the proposal makes sense.

It is deployed reality, Robert.  Your like or dislike of it isn't helpful

Since it's not secret sauce but it's not in any readily accessible online
documentation, Arbor Network's flowspec mitigation mechanism - which was a
core operator contributor for the design of flowspec - supports it as a
common deployment mode.  This is broadly because:
- Many flowspec router implementations didn't do selective implementation of
  the rules on their interfaces, and imposed forwarding impact where it
  wasn't helping to mitigate the attack.
- In many cases, attacks can be mitigated on a subset of interfaces in a
  region, or a subset of interfaces by role (peer, customer, etc.)
- The two of these together was a motivator for the flowspec interface-set
- The blast radius of flowspec bugs, partially due to the encoding rules,
  was high enough that limiting it to subsets of the network was risk

The use case for distribution of rules via parallel route reflector
infrastructure is more common, especially for transit service providers.

The use case for customer injected flowspec routes, which complicates the
security model in the RFC, is almost universally avoided at this point.

The motivation to note the targeted peering option is it illustrates
immediately a basis case for issues in incremental deployment of the
feature.  The iterative case is clear from there and observed to be the
non-targeted case.

> 2. The intention of this draft is actually to signal filtering
> capabilities and not BGP control plane parsing capabilities.

The opposite is the intention.  Incremental deployment for parsing is what
you cannot do today.  The side effect of the procedure is that a device may
choose what it is willing to accept.  This is no different than policy.

It's perhaps worth emphasizing at this point that my employer has a backlog
of feature requests for additional filtering on flowspec routes.  At some
point, filtering will become a more broadly deployed behavior with, or
without this capability.  

Part of the motivation for section 5 is to get written down into a draft a
common narrative I have to explain about flowspec deployment - if your rules
are not independent, filtering can have unexpected or nasty behaviors.
Caveat operator.

As features for flowspec gain deployment, islands of selective support are
going to happen.  Switch hardware may implement L2 filtering, while line
cards for core routers may not have support for it.  Data center edge will
need different filtering criteria than network edge.  SD-WAN and 5G
deployments will have different filtering.

The era of a single flooding scope for flowspec routes is not long for this
world.  While my draft was intended to motivate that discussion and that
discussion has been woefully absent from the plethora of extensions we've
had adopted by IDR, the implications will have to be dealt with.  Is my
draft intended to be a broad fix for that?  No.

> Ad 1 -  Yes it does but to me this is a very corner case of how BGP (a p2mp
> protocol) is supposed to work at scale.

You'll also find much work in the spring Working Group to your dislike then.

> Ad 2 -  Jeff agreed to ack that explicitly in the draft leaving option to
> at least enforce by cfg to only signal what BGP can parse. But I am not
> sure if there is a wider agreement that this is good enough.

The point of the proposal is to offer an option that addresses incremental
deployment of new flowspec features without requiring a flowspec v2.  You
are encouraged to offer alternative proposals, if you have any.

-- Jeff