Re: [mpls] Concerns about ISD

Tianran Zhou <zhoutianran@huawei.com> Fri, 08 April 2022 06:35 UTC

Return-Path: <zhoutianran@huawei.com>
X-Original-To: mpls@ietfa.amsl.com
Delivered-To: mpls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5E4143A2051 for <mpls@ietfa.amsl.com>; Thu, 7 Apr 2022 23:35:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.906
X-Spam-Level:
X-Spam-Status: No, score=-1.906 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 sZv9wNFoinCc for <mpls@ietfa.amsl.com>; Thu, 7 Apr 2022 23:35:29 -0700 (PDT)
Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6C2583A204D for <mpls@ietf.org>; Thu, 7 Apr 2022 23:35:29 -0700 (PDT)
Received: from fraeml738-chm.china.huawei.com (unknown [172.18.147.226]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4KZT350HBzz687Hq for <mpls@ietf.org>; Fri, 8 Apr 2022 14:33:21 +0800 (CST)
Received: from kwepemi500010.china.huawei.com (7.221.188.191) by fraeml738-chm.china.huawei.com (10.206.15.219) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Fri, 8 Apr 2022 08:35:25 +0200
Received: from kwepemi500009.china.huawei.com (7.221.188.199) by kwepemi500010.china.huawei.com (7.221.188.191) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Fri, 8 Apr 2022 14:35:24 +0800
Received: from kwepemi500009.china.huawei.com ([7.221.188.199]) by kwepemi500009.china.huawei.com ([7.221.188.199]) with mapi id 15.01.2375.024; Fri, 8 Apr 2022 14:35:24 +0800
From: Tianran Zhou <zhoutianran@huawei.com>
To: Tony Li <tony.li@tony.li>
CC: "mpls@ietf.org" <mpls@ietf.org>
Thread-Topic: [mpls] Concerns about ISD
Thread-Index: AdhKc4fdvDv9lzMNTfy5c++8iNI9i///poSA//7GfeA=
Date: Fri, 08 Apr 2022 06:35:24 +0000
Message-ID: <6199e0e886f9437c95ef9b70719b00ec@huawei.com>
References: <6cc272447d2f4c779e85d5c42d3b3c6c@huawei.com> <8623637D-A32E-47A4-B5FC-4D2CF40BEDD1@tony.li>
In-Reply-To: <8623637D-A32E-47A4-B5FC-4D2CF40BEDD1@tony.li>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.112.40.195]
Content-Type: multipart/alternative; boundary="_000_6199e0e886f9437c95ef9b70719b00echuaweicom_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/mpls/EE17Ns4Qb01HowrJYF8YL_Zk0lk>
Subject: Re: [mpls] Concerns about ISD
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Multi-Protocol Label Switching WG <mpls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mpls>, <mailto:mpls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mpls/>
List-Post: <mailto:mpls@ietf.org>
List-Help: <mailto:mpls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mpls>, <mailto:mpls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 08 Apr 2022 06:35:35 -0000

Hi Tony,
Thanks for your reply and good to know you thoughts.
However, what I see the ISD is a specific optimization for specific hardware.
I do not think we should standardize such a solution.

Please see my reply in line for detail.

Best,
Tianran.

From: Tony Li [mailto:tony1athome@gmail.com] On Behalf Of Tony Li
Sent: Thursday, April 7, 2022 10:15 PM
To: Tianran Zhou <zhoutianran@huawei.com>
Cc: mpls@ietf.org
Subject: Re: [mpls] Concerns about ISD


Hi Tianran,

Thank you for your opinion.


I followed the discussion in the mailing list for a while,  and read all the proposed solutions.
As I see some proposals mentioned about ISD, I do not think we really need it.
The only reason I see is the lower parsing depth.
However, the complexity we add to the implementation and the backward compatibility issue is a disaster.

Let's see some concerns:
1. ISD breaks the MPLS stack. It's very different from existing implementations. Different label processions are required for the whole stack.


The precedent, of course, is the Entropy label, which is effectively ISD.

ZTR> I do not think this is a good example. Firstly, entropy label is still an MPLS label, but ISD is not, with very different process. Secondly, RFC6790 indicates the in stack process of entropy label is optional. That said, this is only for specific hardware.

2. ISD has constrained space and format. For example, the s bit is reserved to not use. This will fragment the data space. Hence introduce a lot of complexities on the parsing, processing, encoding, hence damage the flexibility and extensibility.


Working around the s bit is certainly annoying and time consuming, but is not unduly complex. If your implementation is motivated to concatenate around the s bit, then two mask operations, a shift, and an or operation will give you contiguous bits.
ZTR> Of cause, anyway you can implement. But not elegant.


3. Pop the entire ISD within a lsp/sr-path is a very different procession to existing implementation.


Yes, the code will have to change. Adding functions requires new code.



4. ISD itself will increase the depth of the label stack. Several ISDs encoded in the label stack will severely impact the payload efficiency.
5.  If ISD carries any field that can change en route, it will impact the ECMP hash.


That’s implementation specific. An implementation is not required to use the entire stack in doing an ECMP hash.  You could just hash on embedded entropy labels.
ZTR> But there are different implementations to do hash. You do not know the device in the network, if they can change code or not. This will course backward compatibility issue.


6. ISD cannot replace PSD. If we can achieve with only PSD with one piece of code, I can find no reason to implement both ISD and PSD.


As you note, the advantage of ISD is that it lowers the parsing depth. Pushing everything to PSD causes a major performance hit if relevant data is past the readable label stack depth.
ZTR> As you note, anyway you can implement, even the parsing buffer is low, you can loop or cache twice for PSD. But let’s see further on the ISD use cases. For MPLS/LSP, the normal case is two or three labels. There is no big difference on in stack or post stack. For MPLS-SR, the path is programmable. And PSD could be ignored by node not support. On the other hand, if the device is resource constraint, with limited parsing buffer or so, I do not think it should even consider the ISD for programmability. Especially, ISD will introduce complexity on the constraint device.

In all, my design philosophy is simplicity. However, ISD breaks the elegant MPLS label stack.
I would strongly object to ISD.


Thank you for commenting,
Tony