Re: [trill] AD review of draft-ietf-trill-resilient-trees-08

"Zhangmingui (Martin)" <> Mon, 22 January 2018 09:33 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 1009D124B17; Mon, 22 Jan 2018 01:33:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -4.23
X-Spam-Status: No, score=-4.23 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id rsjl_5M9LUKd; Mon, 22 Jan 2018 01:33:19 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 1AEF11243F6; Mon, 22 Jan 2018 01:33:19 -0800 (PST)
Received: from (unknown []) by Forcepoint Email with ESMTP id 9CC277475DF6B; Mon, 22 Jan 2018 09:33:14 +0000 (GMT)
Received: from ( by ( with Microsoft SMTP Server (TLS) id 14.3.361.1; Mon, 22 Jan 2018 09:33:15 +0000
Received: from ([fe80::a54a:89d2:c471:ff]) by ([]) with mapi id 14.03.0361.001; Mon, 22 Jan 2018 17:33:12 +0800
From: "Zhangmingui (Martin)" <>
To: Donald Eastlake <>, "" <>
CC: "" <>, Alia Atlas <>
Thread-Topic: [trill] AD review of draft-ietf-trill-resilient-trees-08
Thread-Index: AQHTeEaBMYUx/uDiqUCD4nCWQmQwRKN2be6AgAllMmA=
Date: Mon, 22 Jan 2018 09:33:11 +0000
Message-ID: <>
References: <> <>
In-Reply-To: <>
Accept-Language: en-US, zh-CN
Content-Language: zh-CN
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_4552F0907735844E9204A62BBDD325E7AAFAF7D4NKGEML515MBXchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <>
Subject: Re: [trill] AD review of draft-ietf-trill-resilient-trees-08
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "Developing a hybrid router/bridge." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 22 Jan 2018 09:33:22 -0000

Hi Donald,

Thanks a lot for your comments.

An updated version has just been uploaded to address these comments.


From: Donald Eastlake []
Sent: Wednesday, January 17, 2018 1:49 AM
Cc:; Alia Atlas
Subject: Re: [trill] AD review of draft-ietf-trill-resilient-trees-08


I've reviewed this draft in light of Alia's comments and have comments as follows:

  *   It should be clearer that each primary distribution tree may have at most one back-up tree associated with it. This is controlled by the highest priority root bridge RBridge which specified the roots of the back-up trees.
  *   Behavior of an RBridge RB2 for multi-destination frames ingressed at RB1 depends on the protection mode of operation of RB1, particularly the difference between 1:1 and 1+1. Thus, either every RBridge in the campus must be configured with information about the mode of protection being used by every other RBridge (or at least every ingress RBridge) or RBridges must signal what mode they are using. It seems much more in keeping with TRILLs philosophy to use signaling which could, for example, be accomplished by use a 2-bit field in the Extended Capabilities which would be zero if no protection is supported and various non-zero values for various protection modes.
  *   I think the method given in the draft for calculating a back-up tree is reasonable and will provide substantial protection although it does not guarantee that the primary and backup trees are maximally disjoint and should not claim that.
  *   Due to the TRILL RPF check, local protection seems limited to RBridges where the primary and backup trees fork.
 Donald E. Eastlake 3rd   +1-508-333-2270 (cell)
 155 Beaver Street, Milford, MA 01757 USA<>

On Mon, Dec 18, 2017 at 4:23 PM, Alia Atlas <<>> wrote:
As is customary, I have done my AD review of draft-ietf-trill-resilient-trees-08.
First, I would like to thank the authors Mingui, Tissa, Janardhanan, Ayan, and Anoop
for their work on this document.

Unfortunately, I have several serious concerns about this document.

First, and most importantly, there is not a clear and mandatory algorithm for computing the backup distribution trees that is given. Sec provides a recommendation that is still not fully specified.
I do see the idea that the root of a backup distribution tree need not be the same as the root of the primary distribution tree - but I see no indication of what decides which the root is.  Perhaps it is the root of the primary distribution tree?    What is computing the backup distribution trees?  My assumption is that each RBridge does.  Can  a backup distribution tree be associated with only one primary distribution tree?

Second, I don't believe that the suggested algorithm of raising the link costs for links used in a primary distribution tree will work to find maximally disparate paths.  Consider the simpler case with Suurballe's algorithm  ('s_algorithm) that is just looking for 2 disparate paths.   In that example, the shortest path is A-B-D-F which gives no disjoint path between A and F - but different pairs of paths are possible.

Obviously MRT (RFC7811) solves this issue - and it is possible to have different roots for the RED and BLUE trees by simply creating a proxy node that attaches to the potential roots.  There may be a bit of work to be done - but it is similar to other proxy nodes used in RFC7811 and RFC7812.

You may have different solutions - and that is fine - but failing to fully specify an algorithm and having what is specified not work is not ok.

Third, pulling back and clearly explaining the different pieces of this technology is badly needed.  For instance:
    (a) The root for a multicast distribution tree computes a backup distribution tree and identifies the root to use.
    (b) A PLR determines the backup distribution tree (how?)
    (c) Each RBridge computes its part of the backup distribution tree - by pinning specific links into the backup distribution tree as advertised as affinity links (??)
    (d) Is traffic looked for on the backup distribution tree?  How does a merge point/receiver make that decision?

Some of these details are in the draft - but it is quite hard to pull out clearly.

Are there any implementations of this draft?


trill mailing list<>