Re: [Rift] Final pass on readability/normative ...

Tony Przygienda <tonysietf@gmail.com> Wed, 29 January 2020 04:48 UTC

Return-Path: <tonysietf@gmail.com>
X-Original-To: rift@ietfa.amsl.com
Delivered-To: rift@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 542D3120219 for <rift@ietfa.amsl.com>; Tue, 28 Jan 2020 20:48:55 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.997
X-Spam-Level:
X-Spam-Status: No, score=-1.997 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 miKqHurXE7PF for <rift@ietfa.amsl.com>; Tue, 28 Jan 2020 20:48:52 -0800 (PST)
Received: from mail-io1-xd2b.google.com (mail-io1-xd2b.google.com [IPv6:2607:f8b0:4864:20::d2b]) (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 7F21B1201DB for <rift@ietf.org>; Tue, 28 Jan 2020 20:48:52 -0800 (PST)
Received: by mail-io1-xd2b.google.com with SMTP id n11so17122711iom.9 for <rift@ietf.org>; Tue, 28 Jan 2020 20:48:52 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=IrWxnkTCNOlGzuX5Y53i7kidCxtg/8KGmjG/mPJRGsk=; b=u728jIYXLzHojz7AhEevsK2GokFiMTQ4Q1+XLIOqFKIvoseNQ7VMRAtAw/mbSlfdl+ 4UYqN5Vh/J9ibceZB/+YAzSsmqRZ/TYH11kCIdmKqYn+YYcPgWD0FJqivVhdvpb9Xm1p 7Czm3lpvrkeF8pRhHX02yRVrvL/EhY/d5Wg40ZPBwgxcaot1agIuEWRE2AEVPw/Eamm1 Fcw1hEIQMv1Ch4I55nJPVqW7wmfhJQo0VBOOJMT7DJCkrC7jUKgO/ne/BXXxOmv/mtLk KjD8aFeqkIeH4C1QdddFVe4GQSi5JxdmVbbzS3bbxMGjt/XabwO2ol2ZIr2tbOjZXZwi 6ngQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=IrWxnkTCNOlGzuX5Y53i7kidCxtg/8KGmjG/mPJRGsk=; b=JgifaD/QaCly59KkLV6BXg2MJWotC1FWiozraCml6WTlNTON0aSpyDzfFiTsYzAhs1 WKCm8tDIdEkXY313CXm9mTkE+oIXsASRL6Lz4nzTxcvNpuh33DhFb4lcjI2rTYAP1WkN Xlnm0j9WkGVWrvnxwZOVUn5yeF9K8LEo9l9UfSfku3g9IvB63UtvJ9/3JzMiZBHkPG64 I4zxHZWM490zEW7hRn0dhztcPe9ja3eHW6e0wcHtUAum4TF7T/TJGqHkm1oaA975rPX/ WbzLXBERIdJLltAqpxaR+yLV1Ka5MMVSpvGZtRBDnUTS0BhL760b+aSQ4bmZCJypbsoK 5ebg==
X-Gm-Message-State: APjAAAX8K1eRrpi691memSNGQk1emtuGqqe38M9jpFz6l1IWdgTKFX0W E38e+qf+E2/FgeoveuHFP6iBNccTqNAeCeey9Zc=
X-Google-Smtp-Source: APXvYqxEai6O6qjky9ERRkZkIw0h0wWlSBNscvFT38Yatff6hwXBHx1LNVBqE/JCTLLAg7eaz+fA626hesBst37W5f0=
X-Received: by 2002:a5e:8a03:: with SMTP id d3mr15527667iok.269.1580273331786; Tue, 28 Jan 2020 20:48:51 -0800 (PST)
MIME-Version: 1.0
References: <CA+wi2hPV7GvA7unqded=WYf2DDm0CnWCx0ygGjD2G2JpNwJhTg@mail.gmail.com> <MN2PR11MB356573C857961433E29D35FAD8580@MN2PR11MB3565.namprd11.prod.outlook.com> <CA+wi2hP-C4LtO1T0t=vON6Wv55PS_DU9JrtUrsnBFMw+hR5qaA@mail.gmail.com> <BYAPR11MB3558E4A0178B5CC92D20D6D2D8530@BYAPR11MB3558.namprd11.prod.outlook.com> <MN2PR11MB356571D181C7130CC84A5E37D83F0@MN2PR11MB3565.namprd11.prod.outlook.com>
In-Reply-To: <MN2PR11MB356571D181C7130CC84A5E37D83F0@MN2PR11MB3565.namprd11.prod.outlook.com>
From: Tony Przygienda <tonysietf@gmail.com>
Date: Tue, 28 Jan 2020 20:47:38 -0800
Message-ID: <CA+wi2hNMzLwWBkKjSiWxg9TCDw1K1_COwAHWq4mi_9rThyM8=Q@mail.gmail.com>
To: "Pascal Thubert (pthubert)" <pthubert@cisco.com>
Cc: "rift@ietf.org" <rift@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000096da53059d400e91"
Archived-At: <https://mailarchive.ietf.org/arch/msg/rift/1vfZbCMggKFT3Kq7Pc-0PWdy4C8>
Subject: Re: [Rift] Final pass on readability/normative ...
X-BeenThere: rift@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Discussion of Routing in Fat Trees <rift.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rift>, <mailto:rift-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rift/>
List-Post: <mailto:rift@ietf.org>
List-Help: <mailto:rift-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rift>, <mailto:rift-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 29 Jan 2020 04:48:55 -0000

Answers inline.

Also, to hono(u)r the English idiom, I belatedly replaced "leafs"
everywhere to "leaves" as to not leave (as you know me, pun fully expected
and intended) us exposed to grammar nit-picking ;-)

On Tue, Jan 7, 2020 at 7:57 AM Pascal Thubert (pthubert) <pthubert@cisco.com>
wrote:

> Hello Tony:
>
>
>
> As promised:
>
>
>
>
>
>       Superspine/Aggregation or Spine/Edge Levels:  Traditional names in
>
>       5-stages folded Clos for Level 2, 1 and 0 respectively.  Level 0
>
>       is often called leaf as well.  We normalize this language to talk
>
>       about leafs, spines and top-of-fabric (ToF).
>
>
>
> I believe we should reword this, maybe as below:
>
>
>
>       Superspine vs. Aggregation or Spine vs. Edge or Leaf:  Traditional
> level
>
>       names in  5-stages folded Clos for Level 2, 1 and 0 respectively.
> We
>
>       normalize this language to talk about top-of-fabric (ToF),
> top-of-pod (ToP)
>
>       and leaves.
>

ack


>
>
>
>    De-aggregation/Disaggregation:  Process in which a node decides to
>
>       advertise certain prefixes it received in North TIEs to prevent
>
>       black-holing and suboptimal routing upon link failures.
>
>
>
> Suggestion:
>
>
>
>    De-aggregation/Disaggregation:  Process in which a node decides to
>
>       advertise more specific prefixes Southwards, either positively to
>
>       attract the corresponding traffic, or negatively to repel it.
>
>       Disaggregation is performed to prevent black-holing and suboptimal
>
>       routing to the more specific prefixes.
>

ack


>
>
>
>    Bandwidth Adjusted Distance (BAD):  This is an acronym for Bandwidth
>
>       Adjusted Distance.  Each RIFT node calculates the amount of
>
>       northbound bandwidth available towards a node compared to other
>
>       nodes at the same level and modifies the default route distance
>
>       accordingly to allow for the lower level to adjust their load
>
>       balancing towards spines.
>
>
>
> Removing the first sentence:
>
>
>
>    Bandwidth Adjusted Distance (BAD):  Each RIFT node calculates the
>
>       amount of northbound bandwidth available towards a node compared
>
>       to other nodes at the same level and modifies the default route
> distance
>
>       accordingly to allow for the lower level to adjust their load
>
>       balancing towards spines.
>
>
>

ack


>
>
>
>    North SPF (N-SPF):  A reachability calculation that is progressing
>
>       northbound, as example SPF that is using South Node TIEs only.
>
>
>
> I think it is confusing to call the northbound computation a SPF since it
> is a 1 hop calculation. Relates to the next point:
>
>
>
>
>
>
>
>    We present here a detailed outline of a protocol optimized for
>
>    Routing in Fat Trees (RIFT) that in most abstract terms has many
>
>    properties of a modified link-state protocol
>
>    [RFC2328 <https://tools.ietf.org/html/rfc2328>][ISO10589-Second-Edition]
> when "pointing north" and distance
>
>    vector [RFC4271 <https://tools.ietf.org/html/rfc4271>] protocol when
> "pointing south".  While this is an
>
>    unusual combination, it does quite naturally exhibit the desirable
>
>    properties we seek.
>
>
>
>
>
> I’d replace "pointing north" with computing southbound routes and
> reciprocally for "pointing south" with computing northbound routes.
>

done


>
>
>
> PoD-ToP
>
> ->
>
> ToP
>
> (twice)
>

too tedious to find the places. better you do yourself

>
>
>
>
> |H<
>
>   ->
>
> |o<
>

ack


>
>
>
> LIEs SHOULD be sent with a TTL of 1
>
> ->
>
> LIEs SHOULD be sent with an IPv4 Time to Live (TTL) / IPv6 Hop Limit (HL)
> of 1
>
>
>
> (same addition suggested in 4.2.3.1 for LIE)
>

ack


>
> Nodes in the spine are configured with "any" PoD which has the same
>
>    value "undefined" PoD hence we will talk about "undefined/any" PoD.
>
>    This information is propagated in the LIEs exchanged.
>




>
>
> “Nodes in the spine” is unclear; do you mean ToF nodes? My understanding
> is that: ToF nodes MUST be configured with “undefined”, ToP MUST NOT be
> configured with “undefined”, and a leaf node MAY be configured with
> “undefined”, in which case the leaf node learns from its ToP parents. (If
> I’m correct) maybe we should say just that?
>

clarified to

"









*Unless ZTP as described in Section 4.2.7 is used, each node
isprovisioned with the level at which it is operating.  It CAN be
alsoprovisioned with its PoD.  If any of those values is undefined,
thenaccordingly a default level and/or an "undefined" PoD are
assumed.This means that leaves do not need to be configured at all if
initialconfiguration values are all left at "undefined" value.  Nodes
aboveToP MUST remain at "any" PoD value which has the same value
as"undefined" PoD.  This information is propagated in the
LIEsexchanged.*

"


>
>
>
>
> This will not affect the correctness of the protocol expect preventing
> detection of certain miscabling cases.
>
> -> s/expect/except/
>
> This will not affect the correctness of the protocol except preventing
> detection of certain miscabling cases.
>

ack


>
>
>
> normally the top spines in a PoD
>
> ->
>
> normally the ToP nodes
>

done


>
>
>
>
> 4.2.2.1.  LIE FSM
>
>
>
> Maybe listing the states in after the first sentence would be useful for
> the reader? Also introduce HAL, HALS and HAT acronyms before using them?
>
> Also, the terms “lie” and “cleanup” are found in lowercase, maybe change
> all relevant to uppercase
>

Yes, good suggestion on states, added that. moved some sections to make a
clearer, more fluid LIE intro. massaged everything into one way of writing
as one-way, two-way, three-way.

HALS/HAT is all definedi n the ZTP section where it belongs more logically.
Someone reading LIE will get too overloaded with too many acronyms too
early.


>
>
>
>
> “More precisely, a spine node represents two different”
>
> Should we remove “spine” from  the sentence? Or define it?
>
> Same goes for the use of “Spine xxx”, should we call them ToP xxx?
>

nothing needs to be done, "Spine" is in the glossary and well defined.


>
>
>
>
> 4.2.3.  Topology Exchange (TIE Exchange)
>
>
>
> Maybe indicate that TIEs are exchanged only in 3-ways?
>

yes, added in LIE.  A very mild possible loophole was present and I added.
"







*A node SHOULD NOT send out any topology information elements if
theadjacancy is not in a "three-way" state.  No further tightening
ofthis rule is possible due to possible link buffering and
re-orderingof LIEs and TIEs/TIDEs/TIREs.A node MUST drop any received
TIEs/TIDEs/TIREs unless it is in three-way state.*

"

It was not a security loophole, normally the nonces would prevent from any
flooding
attack under 3-way state but the addition helps to prevent "loose"
implementations.


>
>
>
>
>
>
>
>
> Suggestion to add an “instance nb” to the TIE so we can build multiple
> RIBs like in RPL over a same topology, e.g.; to serve different tenants.
>

unnecessary, all included. ;-)  4.3.9 already says


*"*



*Multiplexing of LIEs can be achieved byeither choosing varying
multicast addresses or portson the same address.*
"


Multi-instance just runs on differnt multicast addresses and/or LIE ports
and TIE reception port is advertised anyway in the LIE. Hence nothing more
than UDP de-mux is needed to run multiple instances. Not a theory, I happen
to have seen a nice multi-instance implementation already operating ;-)

Multiple RIBs is a rathole, that leads immediatly into VPN land and
multkple RIBs/demux can be implemented in so many ways we'll never find a
common language. Every routing stack (and they've been a couple) I worked
on had a different architecture to deal with multkple RIBs (if they had one
;-)


>
>
>
>
>
> More tomorrow, starting at 4.2.3.3.1.5
>
>
>
> All the best
>
>
>
> pascal
>
>
>
>
>
>
>
> *From:* RIFT <rift-bounces@ietf.org> *On Behalf Of *Tony Przygienda
> *Sent:* dimanche 8 décembre 2019 22:21
> *To:* rift@ietf.org
> *Subject:* [Rift] Final pass on readability/normative ...
>
>
>
> Only IESG outstanding reviewer's comments on the spec are @ this point in
> time improving general readability & fine comb on normative captions (plus
> going to format -v3 with pictures is up to me)
>
>
>
> I have some volunteers already that are starting on reading sections &
> polishing, I'm calling here for more ;-) If you'd like to review a section
> for readability & check normative language please contact me and I'll
> synchronize. Resolution is X.Y or X.Y.Z section with exception of small
> stuff like Examples maybe.
>
>
>
> On offer honorable mention in the acknowledgements section ;-)
>
>
>
> Idea would be to have a -10 (hopefully last one) with pictures & review
> incorporated before next IETF.
>
>
>
> thanks
>
>
>
> -- tony
>