Re: [mpls] Concerns about ISD

Tony Li <tony.li@tony.li> Fri, 08 April 2022 15:20 UTC

Return-Path: <tony1athome@gmail.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 9E5C53A0D97 for <mpls@ietfa.amsl.com>; Fri, 8 Apr 2022 08:20:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.511
X-Spam-Level:
X-Spam-Status: No, score=-1.511 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.248, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=no 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 pgTry3kUuasl for <mpls@ietfa.amsl.com>; Fri, 8 Apr 2022 08:20:31 -0700 (PDT)
Received: from mail-pf1-x435.google.com (mail-pf1-x435.google.com [IPv6:2607:f8b0:4864:20::435]) (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 9ADF43A0E05 for <mpls@ietf.org>; Fri, 8 Apr 2022 08:20:31 -0700 (PDT)
Received: by mail-pf1-x435.google.com with SMTP id h19so8665078pfv.1 for <mpls@ietf.org>; Fri, 08 Apr 2022 08:20:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=fI4/BvXu3WSqduIRAmcHBPnwJy/uIgvFbO7W9W5bhhY=; b=qSYl+jHxGrQadQawcLf+LX11wpLid8WBM/SWcMf3+baYGGgaq9abmDh5bByjfzH32Q M4ohII1XHyWsXjU0M5ajwazkVYG74lMBvx24x2lx9IDCfY3q2EwAd7wi0UyLPIMyXI1s INeMf4iAUcxdVgQf0ZiZflqN2xkhW21uViub5mLxstAsjVfud4aQoGarcj8Cn/pfV713 h7vs12MB/iMDKtMWF6tFObIqMxgGJ6yBXPks8/6YTONz6YerKHTvAkZD54zAts/JrOX5 nGgodyP002/xlr8oUlWzaNfGm9mJFzzff/qJpmQrF9c39tr+NpxoH+tM9gEveVQCEK7V FjnQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=fI4/BvXu3WSqduIRAmcHBPnwJy/uIgvFbO7W9W5bhhY=; b=nkvWpRReCFgp8BpJztDBW3M0h9PcSABAcbDmZoYYvwBH8vokbOmQmVTr5/bQKDMsdf 1bLUVMgPt8mraPuzHUvvPFBO3Ij1K9YvPUHTm1S71/nT1uMJvcSfdJZ+DYj8bfd81Vt3 mVUBBPirLR+9NfUIiKmCQUj9ABP2LFbcWmWEcKRpyNndBvQMDhcWM972/J40za9KYfHY UYUbasJyN1dTfSmk1UlJAnHSOhIIHnqtgK04a6bEOmELizqPbaiOlMKZB0Ko8Ikr8/D6 QbrYXDRZMI8mARQHNolBis9Bjry3iK7A066NBBcLOri/2aocLFoOkq5YJRRGfXnn3waw AJQQ==
X-Gm-Message-State: AOAM531I5g1eFwVrZE3NfX9CpQhCTotGmTKbJWMT/apFTkD5zp1GkUax hhPz4hHByK8rsHGhNkKk0HMmnarhTZc=
X-Google-Smtp-Source: ABdhPJz2hwvNv5NRXuPVjzpvKhxZllxzYhmUGO8VMqHkub6qcsqa+tivCNtigfwy2QEwr3M9TqMWQQ==
X-Received: by 2002:a63:495b:0:b0:399:8cd:81de with SMTP id y27-20020a63495b000000b0039908cd81demr15523844pgk.508.1649431230370; Fri, 08 Apr 2022 08:20:30 -0700 (PDT)
Received: from smtpclient.apple (c-67-169-103-239.hsd1.ca.comcast.net. [67.169.103.239]) by smtp.gmail.com with ESMTPSA id s14-20020a63dc0e000000b0039cc76bda79sm5159280pgg.40.2022.04.08.08.20.29 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 08 Apr 2022 08:20:30 -0700 (PDT)
Sender: Tony Li <tony1athome@gmail.com>
From: Tony Li <tony.li@tony.li>
Message-Id: <BCFD3F4A-36D6-47C2-B907-FC40B402F97C@tony.li>
Content-Type: multipart/alternative; boundary="Apple-Mail=_448178D6-6CD1-49D8-9BA4-777FB14CCC3B"
Mime-Version: 1.0 (Mac OS X Mail 15.0 \(3693.60.0.1.1\))
Date: Fri, 08 Apr 2022 08:20:29 -0700
In-Reply-To: <6199e0e886f9437c95ef9b70719b00ec@huawei.com>
Cc: "mpls@ietf.org" <mpls@ietf.org>
To: Tianran Zhou <zhoutianran@huawei.com>
References: <6cc272447d2f4c779e85d5c42d3b3c6c@huawei.com> <8623637D-A32E-47A4-B5FC-4D2CF40BEDD1@tony.li> <6199e0e886f9437c95ef9b70719b00ec@huawei.com>
X-Mailer: Apple Mail (2.3693.60.0.1.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/mpls/iZUoucBiuqiHcZT0hEniTs_Kg3E>
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 15:20:34 -0000

Hi Tianran,


> However, what I see the ISD is a specific optimization for specific hardware.
> I do not think we should standardize such a solution.


The readable label stack depth has long been a concern. Nothing about MNA is specific to any given piece of hardware.


> 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. 


To me, the entropy label is 20 random bits that one system adds at the start of the LSP. While it occupies a label field in an LSE, it is in no way a label. Specifically, it is not an index that a system uses for a lookup in its LFIB.  In other words, it’s opaque data, use solely for systems that need to load balance. ISD is certainly more opaque data. The functionality is, of course, different.  Using MNA is, of course, optional. 


> 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.


Welcome to the IETF. We do real engineering. It’s not always elegant. :)


> 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.


Devices that cannot upgrade their code will not be able to support any form of MNA. Is this somehow worth debating?


> 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.


Looping or recycling through a forwarding engine can cause a major performance hit (50% or more). Folks would like to avoid that.

With SR, you can have much deeper stack depths. That can cause a big difference in access times.

I don’t follow the rest of your argument. You seem to be implying that other vendors should simply give up. Somehow, I think that unlikely. :)

I expect that devices that can support MNA will try to support MNA. It is to our collective advantage (there goes my altruistic streak again) to get MNA deployed and to help network operators get as much value from MNA as possible. Asking an operator to discard even a tiny portion of their hardware is unlikely to result in any kind of progress, only hindering MNA.

Regards,
Tony