Re: [spring] Flat vs non-flat SIDs

Gyan Mishra <hayabusagsm@gmail.com> Sun, 26 September 2021 03:07 UTC

Return-Path: <hayabusagsm@gmail.com>
X-Original-To: spring@ietfa.amsl.com
Delivered-To: spring@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AFBCE3A1643 for <spring@ietfa.amsl.com>; Sat, 25 Sep 2021 20:07:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.087
X-Spam-Level:
X-Spam-Status: No, score=-2.087 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_REMOTE_IMAGE=0.01, 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 o1DtyyzOuBke for <spring@ietfa.amsl.com>; Sat, 25 Sep 2021 20:07:11 -0700 (PDT)
Received: from mail-pf1-x434.google.com (mail-pf1-x434.google.com [IPv6:2607:f8b0:4864:20::434]) (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 A971F3A1644 for <spring@ietf.org>; Sat, 25 Sep 2021 20:07:11 -0700 (PDT)
Received: by mail-pf1-x434.google.com with SMTP id n23so9609218pfv.4 for <spring@ietf.org>; Sat, 25 Sep 2021 20:07:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=l3fZZklmhiQj9OEtKSLPXNEL9KIoJi56dLo8u3y1JU4=; b=Tpajl5BcYdpDj5qBqy543hlE4qMvzgncc5ibz1m5hmh0ZAEBbf6t2eI4tiOD0e+aHE 2l+MpU5dqT8Y4K6UYS4+IKGoxsNYH3szxyKvmF0343YTLUkDXpMMJwOqCIxPtE4uFiME ZebxOY0vxa+P59HxfJt8gQh++vN6WdT9+zoaqOCM7G0p9TYzXeAMUczNipf75xcrylbC QFSznEzS0Hzs6iz94r5dWzrK9JTjKQ5ykbmN3htoDGGmhvVaNo8mAJsMB6Jr4bmo/RQ9 ZMjLLWn8R5HfWtkTjbS6HsUH52XnDb6dO4VHMA+VMy2pdEd956U1Obn4VYGAsssx7/1Q 3zVw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=l3fZZklmhiQj9OEtKSLPXNEL9KIoJi56dLo8u3y1JU4=; b=tz/ucf08fsKhHARbJAsYfG8OLNWmqJ8/m4J1eJd5uLnXyiEyC2Gxw8UkjnXKkLnlkl 1elRCQLO65kQ4vo6Z1+ZfF6i4sZmE9SVlBBG9SPbq0xAKzf3ozI3AIfxqYo8ZeAsI+IK s7z0fYax+vmqgXKPyy6Whals03SBLj0uZMjELAVbObuZWgrA9U53zTgeSA7K1WD6PnkS 9/+Tw+O1dUsL/pU1cvt74vkiMnKYPkQGRG9LLRImK9NYSXMh4XurDJpkX+yCh/TPZ4sT zlLlp0v0nOv8tmN1oIyTaiYB1bnKiYkQzhp+Y3sORLFByjPrD7ZtqZIjjtdVljZfJAGx bl2Q==
X-Gm-Message-State: AOAM533z36V7CvEVhLqDZIeqQ2gk4NFh9zfU1r6V+dgGl4Z7wgvKndXi NUQkGRMqTcXWnjUVCotqS1cjLZdpcsW4QcP5B1DC384N
X-Google-Smtp-Source: ABdhPJzxxCDFbLF6jT4mgLViZHF5wmA2qOgXPwsvIwxKbDa7x+FawKocIXTFUK8VGEcJPNNRum7iWjpCAgkk0CZHp5A=
X-Received: by 2002:aa7:9a51:0:b0:43d:f0b0:532a with SMTP id x17-20020aa79a51000000b0043df0b0532amr16895725pfj.76.1632625630661; Sat, 25 Sep 2021 20:07:10 -0700 (PDT)
MIME-Version: 1.0
References: <CAOj+MME+YJ9hNgbn6oiTmsoYTdcGjCWQo2qdNd_REybBVpfFqw@mail.gmail.com> <CABNhwV1ERq8op_YLO24wminc_FqRy5vxGc0TB+wR_D-XXXnvOg@mail.gmail.com> <CAOj+MME4eVBVY6HN8Fse+C56R=8pYt19mXfqft53n9smuEPNgQ@mail.gmail.com>
In-Reply-To: <CAOj+MME4eVBVY6HN8Fse+C56R=8pYt19mXfqft53n9smuEPNgQ@mail.gmail.com>
From: Gyan Mishra <hayabusagsm@gmail.com>
Date: Sat, 25 Sep 2021 23:06:59 -0400
Message-ID: <CABNhwV0Bg5WM-P1FYhg+cWqEgu6Fyc1yXE_Cw4jC6812UCW93Q@mail.gmail.com>
To: Robert Raszuk <robert@raszuk.net>
Cc: SPRING WG <spring@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000c44fcb05ccdd46e8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/y7nubb46QzQ7enBOYxaha39ug-0>
Subject: Re: [spring] Flat vs non-flat SIDs
X-BeenThere: spring@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Source Packet Routing in NetworkinG \(SPRING\)" <spring.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spring>, <mailto:spring-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spring/>
List-Post: <mailto:spring@ietf.org>
List-Help: <mailto:spring-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spring>, <mailto:spring-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 26 Sep 2021 03:07:17 -0000

The big difference between CRH & SRv6 is that SRv6 contains the SID and CRH
header 16 bit or 32 bit SID contains an index or pointer to the actual SID
which is encoded in an CRH FIB which can be populated manually via CLI,
PCEP or Netconf/Yang.

Since the CRH SID contains an index to the actual SID IPv6 address, it is
not subject to MSD issues that SRV6 has and thus can have extraordinary
long strict paths without any constraints.

The one caveat to the initial layer of indirection is an extra lookup.

The similar  concept of CRH style  indexing could be applied to SRv6 with a
few bits as mentioned or maybe even done close to identical but via the
SRv6 PGM framework.

Thanks

Gyan
On Sat, Sep 25, 2021 at 6:50 PM Robert Raszuk <robert@raszuk.net> wrote:

>
> I do not see anything in CRH draft which would act as a hardware friendly
> fixed size context/app/service id field which would direct any further SID
> lookup to happen in separate SID tables.
>
> Thx,
> R.
>
> On Sat, Sep 25, 2021 at 6:23 PM Gyan Mishra <hayabusagsm@gmail.com> wrote:
>
>>
>> Interesting you mention indexing as CRH in fact moves the forwarding
>> state to the FIB, thereby eliminating the MSD issue & uses indexing bits
>> serving as pointers  from the CRH FIB.
>>
>> Indexing and indirect address using pointers is definitely an interesting
>> alternative way of tacking the compression issues.
>>
>> Kind Regards
>>
>> Gyan
>>
>> On Sat, Sep 25, 2021 at 11:11 AM Robert Raszuk <robert@raszuk.net> wrote:
>>
>>> All,
>>>
>>> Watching this discussion on how to compress SIDs (modulo what is the
>>> best choice of compressed SID length) a question popped up which perhaps
>>> would be very helpful to clarify.
>>>
>>> SR architecture RFC defines notion of global and local SIDs.
>>> Compression analysis discusses state analysis in section 2.3 in respect to
>>> global SIDs by listing few parameters N, I, A, D & V which are essentially
>>> defining SID applications or types.
>>>
>>> In all cases the SID or cSID list remains globally flat across all
>>> services. Well yes SIDs have some structure via appended function and
>>> arguments needed in network programming but the question I am struggling
>>> with is not about those.
>>>
>>> It seems to me that for data plane scaling instead of always
>>> constructing huge flat lookup trie it may be quite beneficial to have in
>>> the front of each SID a few bits fixed pointer actually directing the real
>>> lookup to a proper service or application table.
>>>
>>> Yes, originally where SR started there was comparison with flat MPLS
>>> label space (except that space was always locally significant). Now we are
>>> talking globally (within a domain) significant space which does multiply
>>> this N times.
>>>
>>> With that I just want to post this question or really a doubt if no
>>> matter what compression is chosen should we not consider to define a fixed
>>> demux space which can help to divide and conquer data plane with no worries
>>> that if I add few more letters to "N, I, A, D & V chain ... (say S- for
>>> slice, G- for 5G, G'-for 6G etc..." my routers are not going to collapse ?
>>>
>>> Again just to restate I am not talking here to come back to locally
>>> significant SIDs. Not at all. Domain wide significant SIDs are cool. I am
>>> talking about making the globally significant compressed SIDs to be
>>> prepended with notion of service(s) they are constructing in a
>>> given network.
>>>
>>> - - -
>>>
>>> As we have been via MPLS deployments in the past one of the often
>>> requested features was application/services prioritization. If we have one
>>> flat SID space this may not be easy.
>>>
>>> Thx,
>>> Robert
>>>
>>> _______________________________________________
>>> spring mailing list
>>> spring@ietf.org
>>> https://www.ietf.org/mailman/listinfo/spring
>>>
>> --
>>
>> <http://www.verizon.com/>
>>
>> *Gyan Mishra*
>>
>> *Network Solutions A**rchitect *
>>
>> *Email gyan.s.mishra@verizon.com <gyan.s.mishra@verizon.com>*
>>
>>
>>
>> *M 301 502-1347*
>>
>> --

<http://www.verizon.com/>

*Gyan Mishra*

*Network Solutions A**rchitect *

*Email gyan.s.mishra@verizon.com <gyan.s.mishra@verizon.com>*



*M 301 502-1347*