Re: [Idr] WKLC transitivity considerations (was Re: Adoption call for draft-heitz-idr-wklc-02 (3/9 to 3/23))

Jeffrey Haas <> Fri, 19 March 2021 21:22 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id D9E9F3A10D7 for <>; Fri, 19 Mar 2021 14:22:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id csNcZozIHLOx for <>; Fri, 19 Mar 2021 14:22:10 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 9C4A23A10D8 for <>; Fri, 19 Mar 2021 14:22:10 -0700 (PDT)
Received: by (Postfix, from userid 1001) id 63E511E446; Fri, 19 Mar 2021 17:43:42 -0400 (EDT)
Date: Fri, 19 Mar 2021 17:43:42 -0400
From: Jeffrey Haas <>
To: "Jakob Heitz (jheitz)" <>
Cc: "" <>
Message-ID: <>
References: <> <> <012b01d7170f$7ec90310$7c5b0930$> <> <015601d7171a$036be470$0a43ad50$> <> <> <>
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] WKLC transitivity considerations (was Re: Adoption call for draft-heitz-idr-wklc-02 (3/9 to 3/23))
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, 19 Mar 2021 21:22:14 -0000


On Fri, Mar 19, 2021 at 08:40:15PM +0000, Jakob Heitz (jheitz) wrote:
> I'm glad you brought that up.
> IMO, it's "don't care".
> It matters in duplicate detection.
> If the LC attribute contains a particular WKLC and the same WKLC
> were to be added, say by a route-policy statement, but with a
> different transitivity, do you add both of them or just one of
> them and if so, which one do you keep?
> I'm just going to stick my neck out and say:
> keep the value with the longest transitivity.
> So, in the draft, the highest numerical transitivity.
> The reasoning:
> Suppose you keep both. What is the behavior?
> Assume that the decision taken by a BGP speaker at a WKLC match
> does not depend on the transitivity, but only on the other bits.
> If two identical community values exist in a community attribute,
> then the decision is exactly the same as if there were only one.
> Therefore discarding the value with the shorter transitivity
> does not change routing behavior.
> The transitivity should matter only in the decision to propagate
> and no other decision. If that's a good assumption, then it should work.
> I just made this up on the spot, so I might have missed something.

I understand your thinking here.  A few related observations:

Since large communities will exist prior to this feature being added, policy
may occur on some implementation without WKLC that adds communities that
could be duplicate.  This means we already need to be ready to deal with
handling duplicates.

Your policy now has to deal with being able to alter scope.  E.g.:
if match wklc-foo:
	 set wklc-transitivity non-transitive;

-- Jeff