Re: [Rift] RIFT

Bruno Rijsman <brunorijsman@gmail.com> Wed, 17 April 2019 14:47 UTC

Return-Path: <brunorijsman@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 2E329120468 for <rift@ietfa.amsl.com>; Wed, 17 Apr 2019 07:47:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 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_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 6IUH3qkvfcM9 for <rift@ietfa.amsl.com>; Wed, 17 Apr 2019 07:47:15 -0700 (PDT)
Received: from mail-qt1-x82f.google.com (mail-qt1-x82f.google.com [IPv6:2607:f8b0:4864:20::82f]) (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 742D11204C2 for <rift@ietf.org>; Wed, 17 Apr 2019 07:47:15 -0700 (PDT)
Received: by mail-qt1-x82f.google.com with SMTP id z16so27664635qtn.4 for <rift@ietf.org>; Wed, 17 Apr 2019 07:47:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=OX1VbsElFBmsl13FfwdzWPzRD1pdtsilos8AYr5rzuA=; b=opgVAg4fCDiLsC5rceLir95/VOgVZPoqn8He1hlRoggjXi5CoF3Shz4MpgBuD3E+C9 97N48vQp0fY5yGKVE/7Ww6rHtOdd7EusYp4h8jykrtgosf+jx6RcAV5QelwfQn4s6ab4 UQ2ZEY8G9bWtNuA9bhLnLPRRHnIc2xGTSbbBSLYtaErsCeSsFO7qqryxnPg9NvWQUoyr 07vLFaOcX7PMXZSNmTwfpic5TPkNHnCejWrqFu3dXzk5VuXCgkl05JNXEbHE8hDUtbyE 9Jr2rM0Z5r6nSePoJcKJ6WQVhFEMnpp9WfrzmZemje7tsSWiIymVaPqYBVw3A7OE7t+P KaOA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=OX1VbsElFBmsl13FfwdzWPzRD1pdtsilos8AYr5rzuA=; b=YHzYoCcmbogynvNKjMNHpnoRQnTMsKyqlr8T7o8NYvaes15V70SWDGTF0Lh8Q5t8/2 9lS+RW3GiJ+yFRyH8YRQ3mb/Of54JntuX6eLd4C+SrtbI4xI1Cc0OQRT4q09Kf58a150 VMyGNTxYSEuKJlInUA9le/u4Ji8/oa/EmTb/tNw3y8SyL9N4yv1YheSXN1+HWv27kUtV 8kzVCQfAo5+m7bBXgkeaGyVWlT55RWtiKbvVioOpDFs6fNfmN6b4RzZRj/hMQsEc6aeo Kkvlw2Bb8JO8rChSqEKho7AZL0TnE4hKhKeWHjkYuQ1OaqD50Ue3xPA9lx7y1+K9RZdn DZUw==
X-Gm-Message-State: APjAAAU26D4LValREJ0Wz0JToirCqXHYDtxxjSx5MBIKkORIgJ07q+aw 2FWjzMwnRVhJ0D795hQe/vg=
X-Google-Smtp-Source: APXvYqwvVi79BzNLb3UPheACkwbiK00EJgjD9lg+7NVx8snJ/tcLnsGXiuxeVbkvouqYoJhRbpIw+w==
X-Received: by 2002:a0c:b8a8:: with SMTP id y40mr71291691qvf.27.1555512434079; Wed, 17 Apr 2019 07:47:14 -0700 (PDT)
Received: from [192.168.0.101] (host-cotesma-166-44.smandes.com.ar. [201.220.166.44]) by smtp.gmail.com with ESMTPSA id t34sm47660596qth.36.2019.04.17.07.47.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 17 Apr 2019 07:47:13 -0700 (PDT)
From: Bruno Rijsman <brunorijsman@gmail.com>
Message-Id: <BA6137C8-BC08-4F54-A919-9ABEE265EC63@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_EE0C2654-D7CC-437C-82DB-D7CA62B7579B"
Mime-Version: 1.0 (Mac OS X Mail 12.0 \(3445.100.39\))
Date: Wed, 17 Apr 2019 11:47:10 -0300
In-Reply-To: <MWHPR05MB32798B45DD99D8ABF75B875AAC280@MWHPR05MB3279.namprd05.prod.outlook.com>
Cc: "rift@ietf.org" <rift@ietf.org>
To: Tony Przygienda <prz@juniper.net>, Kris Price <kris@krisprice.nz>
References: <CACqcHa05D9mCNWPtkHMw4t-0opbz33PsnB9Ts=wadfM1UD4cNA@mail.gmail.com> <MWHPR05MB32798B45DD99D8ABF75B875AAC280@MWHPR05MB3279.namprd05.prod.outlook.com>
X-Mailer: Apple Mail (2.3445.100.39)
Archived-At: <https://mailarchive.ietf.org/arch/msg/rift/5TM9OKOPhESTNSUFQX1lS7c9S-U>
Subject: Re: [Rift] RIFT
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, 17 Apr 2019 14:47:22 -0000

Hi Kris,

Thank you very much for your pull request; I merged it into the main repo.  I am very happy to see you actively contributing code!

I added the request for a “don’t aggregate south-bound knob” to my (internal) TODO list.  It will be a while before I get to it, because I would like to finish the base implementation (security envelope, east-west rings, etc.) first.

— Bruno

> On Apr 12, 2019, at 2:44 PM, Antoni Przygienda <prz@juniper.net> wrote:
> 
> Hey Kris, great to see you engaging back ;-) I cc: rift mailing list for posterity
> 
> 
> 1) yepp, very nice python implementation, especially if one wants to understand RIFT as running protocol rather than paper spec ;-)
> 2) Yepp, multi-planes did lead to lots of discussions in core-team meetings around acceptable solutions and how we'd explain it properly. Explanation largely due to Pascal's and Ilya's work, it takes a bit to soak the ASCII pictures but once you start to grok the concept of "crossbars crossbaring crossbars" being Clos ;-) it's very easy to think through the stuff. 
> 3) A knob to basically "always disaggregate southbound" is  as simple thing to do really. Just like Bruno has it in his computation first phase mostly decides _which_ nodes need disaggregation. The result can be simply replaced by all southbound nodes & then disaggregation happens naturally. Observe that you still want the default origination since a PoD doesn't see other PoDs except via spine and disaggregation is _not_ transitive (I'm talking positive now). There are other cases you want to advertise southobuond some prefixes beside default and it's a normal thing to do, nothing says that you only advertise default southbound anywhere. 
> 4) Observe that we do NOT have a single ring! A ring is only as long as the #planes you have. No'one will have 1000 planes ;-) So let's say you have 64 switches in each plane and 4 planes. You will have 64 rings of lengh 4. Obviously you can double-ring or ring within the plane as well to improve reliability but basically the topology is coherent until 2! links in the same ring break. 
> 5) Always enabling disaggregation: That's point 3. Observe that does NOT solve your multi-plane problem on breakages since positive disaggregation is NOT transitive. Yes, you can turn southbound PGP on and blast whole fabric with all prefixes which basically makes your blast radius uncontained on any change (kind of flat IGP or rather IGP with DV prefixes ;-) and a single link coming/going may lead to massive amount of convergence traffic due to prefix reachability changes. Moreover, all your leafs (which is servers in extreme case) need FIB size of the size of fabric host routes ...
> 
> Spec authorship is still open ;-) so if you feel like improving/adding to draft, just let me know your moniker on bitbucket since thath's where the newest spec versions live ... 
> 
> https://bitbucket.org/riftrfc/rift_draft/src/master/ <https://bitbucket.org/riftrfc/rift_draft/src/master/>
> 
> --- tony 
> 
> 
> From: Kris Price <kris@krisprice.nz>
> Sent: Friday, April 12, 2019 10:22 AM
> To: Antoni Przygienda; brunorijsman@gmail.com
> Subject: RIFT
>  
> Hey guys,
> 
> ... couple of thoughts for you:
> 
> I see someone much better at explaining things than me talked to you since we last spoke :-) so you've caveated the case with how middle tiers in a Clos don't get full visibility of all nodes at that tier via the reflection because by very nature of the Clos they're not fully striped to that lower tier (that is the essence of how Clos topologies scale so is present in any large fabric). You've covered that under the description as "hyper planes" and work around is to use a ring at those tiers to pass control plane traffic.
> 
> Would it be possible to somehow /safely/ have a 'knob' to turn off the aggregation at a tier so it'll always advertise all prefixes southbound? Particularly this is useful in a network that might migrate to this protocol that does not want to go back and cable a ring. And in some cases cabling a ring will be undesirable to some potential users anyway. (In some real world networks that could mean cabling a ring connecting >1000 switches that form the "spine columns". That’s a long brittle ring.)
> 
> Larger question, would it be possible to disable aggregation network wide? (For someone that might be interested in using RIFT, but for reasons other than the aggregation capability and where that capability may be seen as undesirable.)
> 
> There's a semi-related issue at the very bottom of the fabric but it's a bit difficult to explain, and I'm not sure it's really RIFTs problem to solve, (in part really its due to a bad network design choice that exists) so I might draw that up later.
> 
> Cheers
> Kris