Re: Compatibility with SRH requirement (was Re: Adoption Call for "The IPv6 Compact Routing Header (CRH)")

Greg Mirsky <gregimirsky@gmail.com> Fri, 29 May 2020 21:37 UTC

Return-Path: <gregimirsky@gmail.com>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B3CFC3A116C for <ipv6@ietfa.amsl.com>; Fri, 29 May 2020 14:37:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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, 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 lEepr0xhh1fU for <ipv6@ietfa.amsl.com>; Fri, 29 May 2020 14:37:51 -0700 (PDT)
Received: from mail-lj1-x243.google.com (mail-lj1-x243.google.com [IPv6:2a00:1450:4864:20::243]) (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 300913A1163 for <ipv6@ietf.org>; Fri, 29 May 2020 14:37:44 -0700 (PDT)
Received: by mail-lj1-x243.google.com with SMTP id k5so991318lji.11 for <ipv6@ietf.org>; Fri, 29 May 2020 14:37:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=er/wB0Hd73ZCs6/qKh7W/Enba/bHwIyoClXE/jyNqlc=; b=vAovDbmcA0iOs/1DrY2UJ/ZStEZBQpvDnOZHc3KqEFE/JwK2qSme4VUtIu2T86ogO9 WkzWmT1a0W8ia2VpcAtqO8K4zSUMoWAIeWUcaP65JV6hgYUpg5f8moSqlm7PAA3ncUnS bxZSrwDvWrUnlVHc1rBrTq6eGhA1z941IBy2oD5ZBeoOGkSx/dPMBfUhtkAJIeyp1UoF lXgAnHaVr/po3ZKKl2vkigbl9NvOvanzI5tczRHNy+GSXoTcCqBFPZ4blP8bagTcO/99 R9kaKE8P5YbFf9DtHzPGH6JpH3JsNgD62zoN5a1ntahv569fbth6ibw1qtu5dVGBDQe4 8Sjw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=er/wB0Hd73ZCs6/qKh7W/Enba/bHwIyoClXE/jyNqlc=; b=oXQxMA/Ecb7bl/uA2l1Bddw5ntMiWGAWveKtTh6Ye1t42lWjyLBAtLy763Fnjnp9bv dROnxvPTLWAvYfEeO+5AR4Sx5jI6LQYbyMSs3qta6bSVUPENpfnhWts5cCT2c2ImTU3Q fdOhvusNf+NIWv8IdmJXy/rerH6fy8NOcqajqHXo4aFCus/U4+9pQtyjj22QcK7pOXC5 G0gpT5srp039oSy7+EyVYyGHZoacAFQosLxrXGVyJMa125vyCBj9wfeKK3OvaTOzMjyU LgvThApI4eXOywm/piqtMeDY91ROpdmY+ErXIKf7Ratf15cnGziBoyNwA12zSTr/+Crc nxHQ==
X-Gm-Message-State: AOAM532VHzRYjS7pVifCHB26Q/swr2wnMOAluSuQJxz3jiuROEfLz0q+ nGDRwmcrQfe0uE9CfK5vwudbS8PhIj3T+O92v8E=
X-Google-Smtp-Source: ABdhPJz6c/lE/+sUoG8vwYtxuNZHEJYUmR6+Ct1L9FFxIMGeXSdRS2H4z3A3UqHyqaff2FQouI2tbz/NIhhdtYhDTSY=
X-Received: by 2002:a2e:b17b:: with SMTP id a27mr5449658ljm.288.1590788262207; Fri, 29 May 2020 14:37:42 -0700 (PDT)
MIME-Version: 1.0
References: <19D30186-B180-4F65-BF00-7AD07CEF3925@gmail.com> <C7C2E1C43D652C4E9E49FE7517C236CB02A53F3E@dggeml529-mbx.china.huawei.com> <CALx6S37UQa5rEAkz54N6S_POaduyUnS=ApN+qQGoepnm0=JdkA@mail.gmail.com>
In-Reply-To: <CALx6S37UQa5rEAkz54N6S_POaduyUnS=ApN+qQGoepnm0=JdkA@mail.gmail.com>
From: Greg Mirsky <gregimirsky@gmail.com>
Date: Fri, 29 May 2020 14:37:31 -0700
Message-ID: <CA+RyBmUJ1+bHdjiYbZc8ccLCnsG3XRKyVGVY8cdu-xGKLubimA@mail.gmail.com>
Subject: Re: Compatibility with SRH requirement (was Re: Adoption Call for "The IPv6 Compact Routing Header (CRH)")
To: Tom Herbert <tom@herbertland.com>
Cc: "Chengli (Cheng Li)" <c.l@huawei.com>, IPv6 List <ipv6@ietf.org>, Bob Hinden <bob.hinden@gmail.com>
Content-Type: multipart/alternative; boundary="0000000000004829ab05a6d04178"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/JT1q8UvsxKI1sefOohszsNkutL4>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 29 May 2020 21:38:02 -0000

Hi Tom,
may I use this thread to continue our discussion on whether a shorter SID
can be used in SRH in a backward-compatible manner?
SRv6 and SRH, by itself, require IGP extensions to advertise such new
capability because an IPv6 node that does not support SRH will not be
selected as SRv6 segment end-point. The LSR WG has adopted two drafts that
define IGP extensions for SRv6 (IS-IS
<https://datatracker.ietf.org/doc/draft-ietf-lsr-isis-srv6-extensions/> and
OSPFv3
<https://datatracker.ietf.org/doc/draft-ietf-lsr-ospfv3-srv6-extensions/>).
Both proposals define the SRv6 Capabilities sub-TLV that includes the two
octets-long Flags field. One bit already has been assigned to indicate the
support of O-bit. I can envision that a document defining a shorter SID in
SRH will also define the use of SRv6 Capabilities sub-TLV, perhaps by
allocating a new field in the Flags. Hence, I agree with Cheng Li that a
requirement for a shorter SID solution to use SRH is reasonable and can be
easily conformed to.

On Fri, May 29, 2020 at 12:40 PM Tom Herbert <tom@herbertland.com> wrote:

> On Fri, May 29, 2020 at 2:18 AM Chengli (Cheng Li) <c.l@huawei.com> wrote:
> >
> > Hi 6man,
> >
> > Since the first day CRH is proposed, it reminds me that we may need to
> address the overhead problem of SRv6 when SID list is long, that is great,
> thanks to Ron and others.
> >
> > But personally, I hope the solution should be compatible with SRv6 and
> SRH, which will simplify the issue and save a lot of works and time.
> Unfortunately, CRH is not.
>
> Cheng,
>
> I don't see how any solution for compressed SIDs can be compatible
> with SRH without employing a new routing type . Consider that one
> litmus test of compatibility is what happens when a legacy
> implementation receives a packet with the new protocol. To be
> compatible, the receiver must recognize that the protocol is unknown
> to it and not attempt to process it. If the receiver doesn't do that
> and processes the protocol anyway, then the results are
> non-deterministic and can actaully lead to harmful or insercure
> behavior (in other words it's not robust).
>
> So if legacy receiver receives a SRH header that contains compressed
> SIDs that are less than 128 bits, it cannot correctly process the
> packet. Someone might argue that this could be a configuration option
> or SID length could be a negotiated parameter, that doesn't work since
> RFC8754 has no provision for negotiating or configuring an alternate
> SID length or format. RFC8754 is very clear on SID length and the fact
> they are IPv6 addresses. From the draft: "Segment List[0..n]:  128-bit
> IPv6 addresses representing the nth segment in the Segment List.". So
> 128 bit SIDs are an invariant propery of the SRH routing type. The
> only way to change the SID length and be compatilble with SRH is to
> use a new routing type, which means that CRH _is_ compatible with SRH
> (an SRH receiver that receives a CRH RH won't attempt to process it).
>
> Tom
>
>
> > Truly, some people may jump up to say there is no requirement to be
> compatible with SRv6. I respect them and their POVs, but I also respect my
> POV.
> > I do not hope the IETF to spend a lot of time to build a brand new data
> plane and control plane, while some compatible solutions are there[1]. But
> people are free to develop a tech like that if they want.
> >
> > However, the development roadmap of CRH really shocked me.
> >         * At the beginning, SRv6+ was proposed, the data plane is CRH
> >         * them it became SRm6, the data plane is CRH.
> >         * SRm6 requested to be adopted in SPRING, and get the answer
> "too early".
> >         * In Feb, 2020, CRH removed the normative reference to SRm6, and
> stated to be replacement of RH0. In this way, CRH was stated to have no
> dependency on SRm6, while the data plane of SRm6 is CRH[2]. Amazing!
> >                 * In May 5th,  CRH asked for WG adoption in 6man, and
> get "Too early" again.
> >         * RH0 was removed after discussion in ML, and CRH get another
> base on general purpose of RH.
> >         * And several days later, a WG adoption poll is issued. Amazing+!
> >
> > Right now, I do not know where the requirements of CRH come from, and
> how CRH can get here.
> > At the beginning, the requirements of CRH may be:
> >       * Challenges from overhead of SRv6 when SID list is long( SID >5 )
> >       * IPv6 address needs to be ONLY the address of interface.
> > Regarding SRv6 overhead,
> > * If CRH aims to solve the SRv6 compression, there are some competing
> solutions there. They are starting from the requirement[3], architecture,
> but why CRH can jump to data plane adoption?
> > * If CRH does not aim to solve the SRv6 overhead, then what? It should
> be stated clear. And the work should follow the IETF progress of
> requirements-> use case->architecture->solution. The rules should be
> respected.
> > But I may be wrong, hidden rules may be somewhere that I don't know.
> >
> > Personally, I don't think the progress of CRH is a good case of
> progressing a work in IETF for young generation. Other people may follow
> the same direction to do something else again, and again.
> > Regarding IPv6 address, we have a lot of discussion on this. Will not
> repeat.
> >
> > >From the technology aspects, I do spend a lot of time to read the
> documents of SRm6, not only CRH, but including the CP extensions, VPN and
> SFC extensions, etc.
> > I may be wrong, but I think CRH is not that simple as some people stated.
> >
> > First of all, the below is my understanding of SRv6 and CRH based SRm6,
> again, I may be wrong.
> > * SRv6 uses one ID(128 bits address) to present
> >         * forwarding ID: 128 bits address
> >         * routing ID: 128 bits address
> >         * service ID: 128 bits address
> > * SRm6 use three IDs to present
> >         * forwarding ID: 128 bits address
> >         * routing ID:16/32 bits tag/CRID/?
> >         * service ID: option TLV in DOH
> > Then
> > * When comparing TE Steering, SRv6 END/END.X is really simple, CRH I
> think it is the similar or the same. I don't see any more simplicities than
> SRH based SRv6.
> > * When a service instruction is added, SRv6 introduces a new ID value
> without introducing any new data plane encapsulation modifications. CRH
> based SRv6 introduce an option TLV in DOH with new data plane encapsulation
> modifications. I think adding an ID is simpler than a TLV, and more
> hardware friendly.
> > * When supporting SFC, SRv6 introduces some IDs, that is all, without
> new data plane encapsulation modifications. CRH does not support. CRH based
> SRm6 may support by using Options TLV in the first DOH[4] or NSH.
> >         * Option TLV in First DOH: The option in first DOH should apply
> to all the Segment endpoint. If configure different behavior to a same
> Option TLV, then the Option ID is like a Service Path ID, and per-flow/per
> SFC states are introduced back to all the nodes. SRm6 is still a source
> routing paradigm?
> >         * NSH:  too complicated to combination, per-flow/per-SFC states
> need to be maintained on all the nodes along the path.
> > * When supporting VPN, SRv6 introduces a new ID, without new data plane
> encapsulation modifications. SRm6 introduces a new TLV in DOH.
> > * When supporting FRR, I don't see the solution of CRH yet.
> > * When supporting OAM, do we need solution to support mapping table
> debugging? No idea.
> > * No reserved bits in CRH, I do not think the 32 bits are critical for
> hardware processing, but extensibilities are needed in almost protocol
> design. Less overhead does not mean best. I think this is a drawback of CRH
> instead of a advantage. But I may be wrong.
> > * In SRv6 or SR-MPLS, a SID is allocated by the node and processed by
> the node. Like an Adj SID in SR-MPLS and SRv6, the Adj Label and END.X SID
> are the value allocated by a node, and the forwarding ID is also ended at
> that node. But in CRH, the SID is allocated by the node, while the
> forwarding ID is allocated by the next segment endpoint, which is the
> interface address allocated by the next segment endpoint node, it looks
> very strange to me. But I may be wrong again!
> > * Flag, Tag, Last Entry provide more programmability to operators to
> support various services, they are features not overhead. Again,
> extensibilities is required and very important for a basic solution like a
> RH. Even for RH3 [5] in IOT.
> > * SRH TLV works like the DOH TLVs, so I think this is a alterative
> solution. But SID is the best option to specify a specific behavior on a
> specific node, rather than Option TLV with local configurations or
> container TLV design.
> >
> > Therefore, I really do not see the simplicity brought by CRH when CRH is
> used for supporting services.
> > It has the simplicity as SRH in TE. But has more complexities when
> supporting other services.
> > I prefer to comparing solutions in a service solution level instead of a
> peace of the whole solution, no meaning to me.
> >
> > Base on the above analysis, personally I don't think right now is the
> timing to adopt this document, so I do not support the adoption.
> >
> > Respect!
> > Cheng
> >
> >
> > [1].
> https://tools.ietf.org/html/draft-filsfilscheng-spring-srv6-srh-comp-sl-enc-01
> > [2].
> https://tools.ietf.org/html/draft-bonica-spring-sr-mapped-six-01#section-6
> > [3].
> https://tools.ietf.org/html/draft-cheng-spring-shorter-srv6-sid-requirement-01
> > [4].
> https://tools.ietf.org/html/draft-bonica-6man-seg-end-opt-07#section-3
> > [5]. https://tools.ietf.org/html/rfc6554#section-3
> >
> >
> >
> > -----Original Message-----
> > From: ipv6 [mailto:ipv6-bounces@ietf.org] On Behalf Of Bob Hinden
> > Sent: Saturday, May 16, 2020 6:14 AM
> > To: IPv6 List <ipv6@ietf.org>
> > Cc: Bob Hinden <bob.hinden@gmail.com>
> > Subject: Adoption Call for "The IPv6 Compact Routing Header (CRH)"
> >
> > This message starts a two-week 6MAN call on adopting:
> >
> >  Title:          The IPv6 Compact Routing Header (CRH)
> >  Authors:        R. Bonica, Y. Kamite, T. Niwa, A. Alston, L. Jalil
> >  File Name:      draft-bonica-6man-comp-rtg-hdr-21
> >  Document date:  2020-05-14
> >
> >  https://tools.ietf.org/html/draft-bonica-6man-comp-rtg-hdr
> >
> > as a working group item. Substantive comments regarding adopting this
> document should be directed to the mailing list.  Editorial suggestions can
> be sent to the authors.
> >
> > Please note that this is an adoption call, it is not a w.g. last call
> for advancement, adoption means that it will become a w.g. draft.  As the
> working group document, the w.g. will decide how the document should change
> going forward.
> >
> > This adoption call will end on 29 May 2020.
> >
> > The chairs note there has been a lot of discussions on the list about
> this draft.   After discussing with our area directors, we think it is
> appropriate to start a working group adoption call.  The authors have been
> active in resolving issues raised on the list.
> >
> > Could those who are willing to work on this document, either as
> contributors, authors or reviewers please notify the list.   That gives us
> an indication of the energy level in the working group
> > to work on this.
> >
> > Regards,
> > Bob and Ole
> >
> >
> > --------------------------------------------------------------------
> > IETF IPv6 working group mailing list
> > ipv6@ietf.org
> > Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> > --------------------------------------------------------------------
>
> --------------------------------------------------------------------
> IETF IPv6 working group mailing list
> ipv6@ietf.org
> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> --------------------------------------------------------------------
>