Re: [Rift] Negative disaggregation feature guide

Antoni Przygienda <prz@juniper.net> Mon, 18 May 2020 06:28 UTC

Return-Path: <prz@juniper.net>
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 4942B3A0881 for <rift@ietfa.amsl.com>; Sun, 17 May 2020 23:28:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.099
X-Spam-Level:
X-Spam-Status: No, score=-0.099 tagged_above=-999 required=5 tests=[DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=juniper.net header.b=kebxXUl4; dkim=pass (1024-bit key) header.d=juniper.net header.b=EL9wK9ZU
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 983ZCKaMJzCM for <rift@ietfa.amsl.com>; Sun, 17 May 2020 23:28:55 -0700 (PDT)
Received: from mx0b-00273201.pphosted.com (mx0a-00273201.pphosted.com [208.84.65.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B25443A087B for <rift@ietf.org>; Sun, 17 May 2020 23:28:55 -0700 (PDT)
Received: from pps.filterd (m0108157.ppops.net [127.0.0.1]) by mx0a-00273201.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 04I6RNXk011607; Sun, 17 May 2020 23:28:51 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=PPS1017; bh=tBnevp5ydkfVxAAp6eeejFLvNuMha63ztMXyJawFD4k=; b=kebxXUl4QScbmoOdU1GLaYnGQ/MgVEmsRGeR9BC9ClD15/8wfRqMYejyJsf3kTu3MrkI UPQVwgAqUYp/M6iFQmgfrTU99PXfoBFnEH75lV8kXHLP+/EZGahbnFvQNR0I7JcB1WxL ipywDXBS24rx2qETrO7UTwT706oDKZ9WkSnDE6sBMWd2Nx8Iyn02CqlfJ/0L2JxnOkj3 X7g9Oyo6YuUyf+VjDpCv7zA1Zd290QpGVAV7xyJKqrEWo/y6AbkvdNAIHyIICX+Gs1nd 2tKucm6O7PpydK6E2MzeblDRffxPgZt92BFxkq0AIdM1Fnd5kOOSfe2efZ8fVHZiGoyL Aw==
Received: from nam04-bn3-obe.outbound.protection.outlook.com (mail-bn3nam04lp2057.outbound.protection.outlook.com [104.47.46.57]) by mx0a-00273201.pphosted.com with ESMTP id 312fep27uk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 17 May 2020 23:28:51 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eXMmSYSXclBeGhcCPkfhlIIMAUbr5QB22ETeCPEtBDM8lakLstDR5oNRc7QqiT1rO14jky2lO5/460gBpeV8ScQLNlcCbEcH+YIHQCH0opEjr7i4noiiaQ5sy7++NmdLnrh9HJEHo0ibfmnhnY3O/jcTFdduqrKcYQV3fFaGsA3vIsRPBCR7AiXmF14UePVoTZcMu04mFz1QRbCTNJk9Y1guNTmHiQ4+XACHdivwxGoBLePBVaiRwHB6Lerxr/sIXdZgYV6EhhpRFPDUGAHADKn7Zksy1RPQ8FceBLfthzjcaSKwNc0+exehumVnEilkQ+m8HMV9ZgJh7I5mVgxK9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tBnevp5ydkfVxAAp6eeejFLvNuMha63ztMXyJawFD4k=; b=M1hPNeBd+/N4OSS5U5LhBRoUjSmYj60MywU79MWmg5mMox5sx6znq7v6Qz9JTfNp+FheCc1FHCAi24uQnHh0lQ10Jn6SWoFiv96GQS14BipShMBALWdB9c8jRRpWMGSziJC7x+nNhimWmVcGK5nwOMnyGyxgMZ2vPXVQWZ8fGufdH5Gtrwsmf3FIoMXfMTy/OVtTE6wL4sVObOFQXOxeWi8Um6dl0CkclXhB6PtWwNeKMmo5G6gdqHa4WItxsEi5XVTnU4cnY/Owo86HLJwls7XoI6b2cp8VyRwNtLgdSgAGPuJRe0+asfw0bT10qeMaCqbBEXaWXBB2Fxp8HIPK1A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=juniper.net; dmarc=pass action=none header.from=juniper.net; dkim=pass header.d=juniper.net; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tBnevp5ydkfVxAAp6eeejFLvNuMha63ztMXyJawFD4k=; b=EL9wK9ZUko14kPrfks/Lk+gEIFfyFK/U+SEkda2WVc9JRUhvujZcw/Zu+L4SnSD4ikEvNQ5GktYVQ6DULUtaSJnpEBj+xTeNcRWAXYT18hYPJvyZIcQQS8VLpiXtxNtUb2h9WcWqGM7UIxWZFuYl0cw0Eudf2W4s9SfUWbrkoZU=
Received: from BYAPR05MB4296.namprd05.prod.outlook.com (2603:10b6:a02:f4::20) by BYAPR05MB5335.namprd05.prod.outlook.com (2603:10b6:a03:78::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3021.11; Mon, 18 May 2020 06:28:48 +0000
Received: from BYAPR05MB4296.namprd05.prod.outlook.com ([fe80::b098:e1a3:a67b:32fc]) by BYAPR05MB4296.namprd05.prod.outlook.com ([fe80::b098:e1a3:a67b:32fc%7]) with mapi id 15.20.3021.010; Mon, 18 May 2020 06:28:48 +0000
From: Antoni Przygienda <prz@juniper.net>
To: "Pascal Thubert (pthubert)" <pthubert=40cisco.com@dmarc.ietf.org>, Bruno Rijsman <brunorijsman@hotmail.com>
CC: "rift@ietf.org" <rift@ietf.org>, Tony Przygienda <tonysietf@gmail.com>
Thread-Topic: [Rift] Negative disaggregation feature guide
Thread-Index: AQHWKXf3KAQxnPeWzEKUu/2NXiN/taimnciAgADoU4CAACXuAIAAC7mAgAAUZ4CAABVhAIAAAYuA//+O0ACABXmHAIAAaEoA//+e4gA=
Date: Mon, 18 May 2020 06:28:48 +0000
Message-ID: <B437D814-7C03-467B-9099-B8E925959DA7@juniper.net>
References: <068412A2-1E85-4327-A50E-F6138C6D7EC0@hotmail.com> <9E819710-00BC-4285-9146-F655CAA7E1CA@hotmail.com> <MN2PR11MB3565EF85007A2737846E962CD8BC0@MN2PR11MB3565.namprd11.prod.outlook.com> <MN2PR11MB35653D1AB0505A0D36522E74D8BC0@MN2PR11MB3565.namprd11.prod.outlook.com> <432D1BE9-8BC3-4627-ACA5-72AA52A79C8C@hotmail.com> <MN2PR11MB3565DB833B52E9C0381343FCD8BC0@MN2PR11MB3565.namprd11.prod.outlook.com> <4272B942-2C6F-4974-8515-E295A6BFF757@hotmail.com> <CA+wi2hO=3U==_xLLhuCyTAKCa7cNqWRHzgwXgJVJSTOvemOnMw@mail.gmail.com> <A967D4CC-107D-4707-A277-0BE8394576FB@juniper.net> <4E305EBE-1287-44AA-AF26-66152576E56E@hotmail.com> <DC8B77F8-CC2D-4C66-BAFA-D821D473D243@cisco.com>
In-Reply-To: <DC8B77F8-CC2D-4C66-BAFA-D821D473D243@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels: MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_Enabled=true; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_ContentBits=0; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_SiteId=bea78b3c-4cdb-4130-854a-1d193232e5f4; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_ActionId=0d45b09f-81db-4e1f-85ff-000057902958; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_SetDate=2020-05-18T06:27:36Z; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_Method=Standard; MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_Name=Juniper Business Use Only;MSIP_Label_0633b888-ae0d-4341-a75f-06e04137d755_Enabled=true;
user-agent: Microsoft-MacOutlook/16.37.20051002
authentication-results: dmarc.ietf.org; dkim=none (message not signed) header.d=none; dmarc.ietf.org; dmarc=none action=none header.from=juniper.net;
x-originating-ip: [66.129.242.15]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: f5f9706c-454c-4782-0d9a-08d7faf4b953
x-ms-traffictypediagnostic: BYAPR05MB5335:
x-microsoft-antispam-prvs: <BYAPR05MB533516A9BDFF9C98FF391027ACB80@BYAPR05MB5335.namprd05.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:449;
x-forefront-prvs: 04073E895A
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: AGvuFuvMg6ZvsO6IXTatfvH0zCMWHLr/FlgsNWzCP8kUnIOyPDGuKxgMcx5BkYi67+maKuIF/Cb6MEqYvv9dC3dNLmrnFg06BjTAftwhKqCd9pluiYuj824tiuQRTrjvqb+TjL4kdRk4e2Fpfyh44EryVQvPnFYnSCzCswfs8xD4qOmrOZhUzS9Onofc1XVaP1lF3JuzohSJK4c9T+IXzB0o/Z3rwyvKw9xdyKy22rLoKMN3VevGVqhqJKOmU0FOUYeZ1CNQtebC6zODZtOFu+G51XSpzawbRXLg8o9cCK30sbdpe0wNno3NoUckjVnfCwtVrI0mSujHv1m9LafMog/aKaFN77y4HBbqC1E2ni8fUBbWuqUH6zUbx9Mj5EPf5ax2vNapC7QJViK0PBxsPQ==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR05MB4296.namprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(366004)(136003)(39860400002)(396003)(376002)(346002)(66556008)(66446008)(66476007)(5660300002)(66946007)(64756008)(26005)(4326008)(6506007)(33656002)(186003)(86362001)(316002)(53546011)(54906003)(6512007)(110136005)(76116006)(966005)(2906002)(6486002)(66574014)(71200400001)(30864003)(8676002)(478600001)(8936002)(2616005)(36756003)(45080400002)(166002); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: ho0nHdUg29IML7UF9vdEFzb8XrS8feJy7oup+0zOgP4xSsTjzlBXIaemNor212VvNn76YM3wyBnVacbHc4sXRqQ8cjsIwXBq2r/aUhRKEClraPoPMhzslJHY08RB5ygeK/lpD9D31/wfHZ45RrMMTeLxZ/sDPeyfDNyy25m57Rlv9yZWx09D2nwQaW2a9eFUXZfsbTPxY4CI/+kVszp2bGerTkBo+tbt7Yyxhap84w27GvdyOKcHqbSnyU2kGZ5WoBuscwVxb9UzqfzvU8IiJAnjrlINwLqMf+edXc4q2ynKdtEPLfbDzkJI1NQ6NFo7Vle2WRHWichdCxUucqoav4Ixqjro724cLRUrna6XFiC85FZz8NrpIve10qyEHpnt8fIaENF6ZyLX6gg6oSbI7oFfbrELkwB25vr6lg0PzsoQAxa5CpDN3bkCti9X2j5pUu9k5CeYYFJVIlUvnyX/s+D8Zqrq9dnZJehPfJuU0IE=
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_B437D8147C03467B9099B8E925959DA7junipernet_"
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-Network-Message-Id: f5f9706c-454c-4782-0d9a-08d7faf4b953
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 May 2020 06:28:48.3177 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: u1kpw7VuohxlQUo3dDHHnYIDkAO82kSa1S9f0N7HypuGLOhlTYKa54p2KEnp+ojL
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR05MB5335
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.216, 18.0.676 definitions=2020-05-18_02:2020-05-15, 2020-05-18 signatures=0
X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 lowpriorityscore=0 suspectscore=0 bulkscore=0 mlxlogscore=999 mlxscore=0 priorityscore=1501 phishscore=0 adultscore=0 clxscore=1011 impostorscore=0 malwarescore=0 cotscore=-2147483648 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2005180058
Archived-At: <https://mailarchive.ietf.org/arch/msg/rift/qJpcZsO-DCRHk3PouJXmz2LlXF4>
Subject: Re: [Rift] Negative disaggregation feature guide
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: Mon, 18 May 2020 06:28:58 -0000

Agreed. Let’s set up a monthly


  *   Tony

From: "Pascal Thubert (pthubert)" <pthubert=40cisco.com@dmarc.ietf.org>
Date: Sunday, May 17, 2020 at 10:15 PM
To: Bruno Rijsman <brunorijsman@hotmail.com>
Cc: Antoni Przygienda <prz@juniper.net>, "rift@ietf.org" <rift@ietf.org>, Tony Przygienda <tonysietf@gmail.com>
Subject: Re: [Rift] Negative disaggregation feature guide

[External Email. Be cautious of content]

This is quite interesting, Bruno.

Does that mean that there are issues running negative in stand alone? I’d be really interested if we have a monthly or something one of these days. Also there’s the section on disaggregation in the applicability draft that we may enrich
Many thanks for all your efforts!

Pascal


Le 18 mai 2020 à 01:02, Bruno Rijsman <brunorijsman@hotmail.com> a écrit :
Hi Tony,

I ran into various complications and a road-block while working on the “disaggregation negative-only” knob in RIFT-python, so I will be ripping that knob out of my code.

Instead I will stick to the three commandments as handed down on the stone tablet by the wise RIFT gods from above :-)


On May 14, 2020, at 12:26 PM, Antoni Przygienda <prz=40juniper.net@dmarc.ietf.org<mailto:prz=40juniper.net@dmarc.ietf.org>> wrote:

In a probably more detailed way with a little stone tablet I suggest 😉


  1.  You SHALL negatively disaggregate only if you’re ToF and have horizontal links (ring)
  2.  You SHALL propagate transitively negative disaggregation
  3.  You SHALL use positive if you’re not ToF or have no horizontal

Of course, any vendor, even open sourced one can add any flavor of knobs that makes their dish unique even if it breaks the spec strictly speaking … So did I 😉

--- tony

From: Tony Przygienda <tonysietf@gmail.com<mailto:tonysietf@gmail.com>>
Date: Thursday, May 14, 2020 at 11:12 AM
To: Bruno Rijsman <brunorijsman@hotmail.com<mailto:brunorijsman@hotmail.com>>
Cc: "Pascal Thubert (pthubert)" <pthubert@cisco.com<mailto:pthubert@cisco.com>>, "rift@ietf.org<mailto:rift@ietf.org>" <rift@ietf.org<mailto:rift@ietf.org>>, Melchior Aelmans <maelmans@juniper.net<mailto:maelmans@juniper.net>>, Christian Graf <cgraf@juniper.net<mailto:cgraf@juniper.net>>, Oliver Steudler <osteudler@juniper.net<mailto:osteudler@juniper.net>>, Olivier Vandezande <ovandezande@juniper.net<mailto:ovandezande@juniper.net>>, Antoni Przygienda <prz@juniper.net<mailto:prz@juniper.net>>, "tommasocaiazzi@gmail.com<mailto:tommasocaiazzi@gmail.com>" <tommasocaiazzi@gmail.com<mailto:tommasocaiazzi@gmail.com>>, Jeff Tantsura <jefftant.ietf@gmail.com<mailto:jefftant.ietf@gmail.com>>, Zhaohui Zhang <zzhang@juniper.net<mailto:zzhang@juniper.net>>, Zhaohui Zhang <zzhang@juniper.net<mailto:zzhang@juniper.net>>, Jeffrey Zhang <zzhang2003@gmail.com<mailto:zzhang2003@gmail.com>>
Subject: Re: Negative disaggregation feature guide

[External Email. Be cautious of content]

 my thoughts:

negative is seriously more complex to  implement and understand operationally and only needed on multi-plane fabrics, taht's why positive is KISS ;-) Also, negative always forces you to ring the top of the fabric which in single plane design is an unnecessary requirement.

I foresee vendors not implementing negative for simplicity, very small footprint fabrics.

the discussion about capability advertisement is interesting, we can just add one bit on the node capabilities element, make it optional and default true.

Of course an implementation taht understands that all involved nodes understand negative is free to use negative instead of positive then.

-- tony

On Thu, May 14, 2020 at 11:05 AM Bruno Rijsman <brunorijsman@hotmail.com<mailto:brunorijsman@hotmail.com>> wrote:
Broadening a discussion on negative disaggregation to the RIFT mailing list.

Now that we have implemented negative disaggregation in RIFT-Python, and now that we are getting some operational experience with it, the following is becoming more and more evident:

It seems to us (Bruno and Pascal, for now) that once negative disaggregation is implemented, there is really no need for positive disaggregation any more.

Every use case that can be solved by positive disaggregation can (as far as we can currently tell) also be solved by negative disaggregation.

Furthermore, negative disaggregation solves the problems in a far simpler and more elegant way: there are fewer advertising nodes and fewer advertised TIEs involved, and we don’t have the synchronization issue that positive disaggregation has that potentially causes incast problems.

Thus, at the very least, it makes sense to recommend that in a given fabric we use either only negative disaggregation only or positive disaggregation only, with negative disaggregation being the default.

If positive and negative disaggregation are enabled simultaneously in one and the same fabric, everything still works fine as far as we can see. But there are some “interesting” interactions that make things unnecessarily complex and potentially fragile.

If support for negative disaggregation is mandatory, and if our assessment that negative disaggregation can solve all use cases is correct, then we could go one bold step further and completely remove positive disaggregation from the specification.

Thoughts?

— Bruno



On May 14, 2020, at 10:48 AM, Pascal Thubert (pthubert) <pthubert@cisco.com<mailto:pthubert@cisco.com>> wrote:

Hello Bruno:

I like your negative-only default because it is probably the safest. Let me elaborate..

partitioning saves a lot more ports per ToF node than the ring cost so it does not matter.

If you enable negative, there’s no point in doing any positive at all, is there? So what do we try to save by combining? In your example, I guess that super 1 2 had to retract the positive disag and then do negative instead when the link to spine 1 1 fell. Was that not a bit complex and error prone?

Also I’m not clear how we can always decide that dynamically and I do not believe that we specified that. So I understand that it’s more like a use case thingy, like a configuration that would be adapted to the use case.

=> do not configure both at the same time use either positive or negative disag.

We do not try to do positive disag transitively. So if there is a need for transitive, you have to use negative.  In a multiplane case, there’s usually (as in your picture) one ToP per plane in each PoD, and a first link failure (say Spine 1 1 to leaf 1 1) can already cause a fallen leaf: leaf 1 1 is no more reachable within plane 1. This tells you that all leaves in the other PoDs must avoid that plane, and that’s a leaf decision; which tells you that you need to recurse transitively down. This indicates that negative must be activated in a highly partitioned (meaning low redundancy) multiplane.

Say we try to use positive disaggregation transitively in a ToF that is partitioned like in planes, you’d run a risk that none of the ToF nodes that can still reach the leaf can see (through south reflection) the ToF node that cannot so they do not know they need to disag. So you end up needing the same ring as for negative, the southern reflection become mostly useless and the benefits of positive are gone.

Partitionned ToF => negative

I trust that we can use positive in a highly redundant and symmetrical non-partitioned ToF. If no one can reach the leaf anymore (like it’s dead) we have no issue since it should not be disaggregated, just use the discards route at any ToF node. If you have enough redundancy and no partition,  there will always be nodes that can both reach a leaf and discover that a peer does not.

=> Positive is indicated for a very specific use case, ideally 2 levels and fully meshed. Maybe that’s enough deployments to justify the feature in the code.

So the question is really that blurry zone between highly redundant single plane and highly partitioned multiplane what should one do? I becomes a risk/benefit judgement… If negative is implemented and the ring is there, I’d use it, better safe than sorry.

Take care

Pascal



From: Bruno Rijsman <brunorijsman@hotmail.com<mailto:brunorijsman@hotmail.com>>
Sent: jeudi 14 mai 2020 17:36
To: Pascal Thubert (pthubert) <pthubert@cisco.com<mailto:pthubert@cisco.com>>
Cc: Melchior Aelmans <maelmans@juniper.net<mailto:maelmans@juniper.net>>; Christian Graf <cgraf@juniper.net<mailto:cgraf@juniper.net>>; Oliver Steudler <osteudler@juniper.net<mailto:osteudler@juniper.net>>; Olivier Vandezande <ovandezande@juniper.net<mailto:ovandezande@juniper.net>>; Tony Przygienda <tonysietf@gmail.com<mailto:tonysietf@gmail.com>>; Antoni Przygienda <prz=40juniper.net@dmarc.ietf.org<mailto:prz=40juniper.net@dmarc.ietf.org>>; tommasocaiazzi@gmail.com<mailto:tommasocaiazzi@gmail.com>; Jeff Tantsura <jefftant.ietf@gmail.com<mailto:jefftant.ietf@gmail.com>>; Jeffrey (Zhaohui) Zhang <zzhang@juniper.net<mailto:zzhang@juniper.net>>; Jeffrey (Zhaohui) Zhang <zzhang=40juniper.net@dmarc.ietf.org<mailto:zzhang=40juniper.net@dmarc..ietf.org>>; Jeffrey Zhang <zzhang2003@gmail.com<mailto:zzhang2003@gmail.com>>
Subject: Re: Negative disaggregation feature guide


On May 14, 2020, at 8:53 AM, Pascal Thubert (pthubert) <pthubert@cisco.com<mailto:pthubert@cisco.com>> wrote:

This does not show because on your first breakage you use the positive disag. If you stick to the logic you used at the beginning, that is pick an example where positive applies but use negative, then on your first breakage you’d show that the negative does not need to go transitively to the leaf, because the spine nodes still have solutions. Is that a lot of work to change?

This is exactly what I was thinking as well.

Maybe I need to go through the current specification with a fine-toothed comb again, but my (possibly incorrect) understanding is that the current version of the specification is that we positive disaggregation is used (MUST be used? SHOULD be used?) in the “first failure” scenario.

Personally, I see no reason why we would not be able to use negative disaggregation instead of positive disaggregation in the first failure scenario as well.

In the context of the tutorial, this would have the advantage of clearly demonstrating the propagation logic more clearly.

But more importantly, it seems to me that once negative disaggregation is implemented, there is really no reason to use positive disaggregation anywhere. It would be “cleaner” (less signaling) and “better” (no incast) to simply use negative disaggregation everywhere.

So…. I was thinking to add a configuration knob to my code “positive-only”, “negative-only”, “positive-and-negative”, with “negative-only” being the default? (Seems like a waste to have coded up the positive disaggregation).

What does everyone think of that?

Should we go even further and simply remove positive disaggregation from the spec?

Should we have negative disaggregation as a capability in the capability negotiation? (Seems non-sensical, given it is something that the whole fabric needs to support or not.)

Should we take this to the RIFT mailing list?

— Bruno

_______________________________________________
RIFT mailing list
RIFT@ietf.org<mailto:RIFT@ietf.org>
https://www.ietf.org/mailman/listinfo/rift<https://urldefense.com/v3/__https:/www.ietf.org/mailman/listinfo/rift__;!!NEt6yMaO-gk!TmsyrEr6P-LonGpbG3vC0JFQ_i21Ign6Y6BE9wvWBuAioJWe1MkV9Q-fUBH1Rg$>

_______________________________________________
RIFT mailing list
RIFT@ietf.org
https://www.ietf.org/mailman/listinfo/rift


Juniper Business Use Only