Re: Adoption call criteria for CRH? [was: Re: CRH and RH0]

Tom Herbert <tom@herbertland.com> Mon, 18 May 2020 22:02 UTC

Return-Path: <tom@herbertland.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 58FF43A073E for <ipv6@ietfa.amsl.com>; Mon, 18 May 2020 15:02:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.003
X-Spam-Level:
X-Spam-Status: No, score=0.003 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, SPF_HELO_NONE=0.001, SPF_NONE=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=herbertland-com.20150623.gappssmtp.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 5FxHPdNY_svt for <ipv6@ietfa.amsl.com>; Mon, 18 May 2020 15:02:32 -0700 (PDT)
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com [IPv6:2a00:1450:4864:20::52f]) (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 8A6D33A03FF for <6man@ietf.org>; Mon, 18 May 2020 15:02:32 -0700 (PDT)
Received: by mail-ed1-x52f.google.com with SMTP id s19so9843619edt.12 for <6man@ietf.org>; Mon, 18 May 2020 15:02:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=herbertland-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=V0kVVyYEFCFLJKikEH3B2+uQCjs5X6JHdkqfQFVkBY0=; b=dToR7HFl//TzP1Q90JeYpMBKK/4Lvn76xg6Vwmdz/ZE2fi0F/uKdOzECAFTSc5BGf8 B/61LMY7Sweybncb6shhQ1Hj4Nb27godWqwWlr66l//UYD7cKY9Tp0P2OgcTXD/D2NM9 WgGWL9Y8BurdCjzWrYnxPrE5zrq1LXX25K9FVV/F4bRb/L+l5dF5X1GiRBYNFQmj5WjH XCruNxvnqGLbcwOLqYvPBEwvfYYblDAvwHAxSPdl/kWLqE2URCQpWrc5xy9K5JuKG37t l9lIZlppLCO6piMXC+FXHGzsKC2xokKvAyqCb1oyKC0Yp5JYoPkQC8P2Uh6IeBNMPZjo k4Vg==
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:content-transfer-encoding; bh=V0kVVyYEFCFLJKikEH3B2+uQCjs5X6JHdkqfQFVkBY0=; b=j23OT68wtXU11XphGVW9u8hMEsxYSfpeXM8HRurcdKTUVpATLbf2ZQM3bE3YdTU33k tkjItOO51pCvQMtpchdumcXVu2D70cEga6tRJfcIv8UsW4IROgXqIha4Dqhz4Of8nNzU w1qhW/kMEFjAkwqVtHjlI3/7e0x89umJZFklBnwiozr892uh4Rda0aK2vY6xR7S79OvK Cbz9haIccNYXzaCXlvYwqfJVUzVyAd3cKHCphd94u/hn+EUmNz2psvekkbHWH0OL7reY ZFFFoADIKERUaRiA8iVAC6YtXq2E0nMkrwWEMFLjyPi7N6+hx2ZEGytfjCHiqF4Fp50V 5s/A==
X-Gm-Message-State: AOAM53327VwaRUdeztJt1RjG/FcpX03iVYnV6VtPVQB665if+UTuiDtV 7L0g/6wT2RV035VlfnD0dtS6bAPtNFyiKedrobQ30Q==
X-Google-Smtp-Source: ABdhPJwWNiC2P1T6GqIgsv4yJFI5IekWhTaR+IlDtn9I4FXltxUYM4oCB8FZdGTaPx1hFBBHC97lmxy4xxwKKJwgeP4=
X-Received: by 2002:a50:d785:: with SMTP id w5mr14954211edi.212.1589839350556; Mon, 18 May 2020 15:02:30 -0700 (PDT)
MIME-Version: 1.0
References: <DM6PR05MB6348E9AD1E088792C2F10BB4AEBF0@DM6PR05MB6348.namprd05.prod.outlook.com> <8CC3F837-B4D6-4570-AF2F-37041839F391@employees.org> <21E9A957-1A31-4A11-8E78-5F7E382866D4@juniper.net> <CAOj+MMEONA5OtWz9Y7pTt4WyVsb+7-_wEKPVryyHLncHG6ew6g@mail.gmail.com> <CALx6S35fPrnh6UtpPYmQ6Yew6D2QVMvYTdp0AaGr8jYhGNKk3A@mail.gmail.com> <CAOj+MMH0Q6ASmjPdmgNB2LHDhvCL2u2DLB9SBRLnJnCD3EbA4w@mail.gmail.com> <CAO42Z2wke4Lw44zdE0G9CJq3rXh69jsxjO5=RTcCv9EXdNOp5A@mail.gmail.com>
In-Reply-To: <CAO42Z2wke4Lw44zdE0G9CJq3rXh69jsxjO5=RTcCv9EXdNOp5A@mail.gmail.com>
From: Tom Herbert <tom@herbertland.com>
Date: Mon, 18 May 2020 15:02:19 -0700
Message-ID: <CALx6S36f95aFkb7tFCvAtqRDOUwAjWbXUjhZXkLrXesZZuwg6A@mail.gmail.com>
Subject: Re: Adoption call criteria for CRH? [was: Re: CRH and RH0]
To: Mark Smith <markzzzsmith@gmail.com>
Cc: Robert Raszuk <robert@raszuk.net>, John Scudder <jgs=40juniper.net@dmarc.ietf.org>, 6man <6man@ietf.org>, "6man-chairs@ietf.org" <6man-chairs@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/S8LngbV2ZVlQS-bMHFbW6tBQUyQ>
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: Mon, 18 May 2020 22:02:35 -0000

On Mon, May 18, 2020 at 2:38 PM Mark Smith <markzzzsmith@gmail.com> wrote:
>
> On Tue, 19 May 2020 at 00:42, Robert Raszuk <robert@raszuk.net> wrote:
> >
> > Hi Tom,
> >
> > Well what I do not like about CRH is this:
> >
> > *A* Requirement for mapping of SIDs to IPv6 addresses - see the header may look simple in the draft as the does not talk about mapping. Handwaving of config by hand or controller I do not buy.
> >
>
> What is wrong with mapping?
>
> > *B* Two size will not fit all. Maybe if there is CRH type and we have 8,12, 16,24,32 bit SIDs it could be optimal for most deployments
> >
>
> Variable length identifiers in the forwarding plane has been tried
> multiple times in the past and abandoned. See RFD 675, Internet
> Engineering Note 21, etc.
>
> "There had been debates during the 1976
> year about address size and proposals ranged from 32 to 128 bit to
> variable length address structures. No convergence appeared and, as the
> program manager at DARPA, I felt it necessary to simply declare a
> choice. At the time (1977), it seemed to me wasteful to select 128 bits
> and variable length address structures led to a lot of processing
> overhead per packet to find the various fields of the IP packet format.
> So I chose 32 bits." - Vint Cerf -
> https://mailman.nanog.org/pipermail/nanog/2010-April/020488.html
>
>
> I would prefer CR had a singe size of 24 bits, as that would seem to
> me to be the Goldilocks size for local network use (16 million
> values), and per RFC 5505, "Anything that can be configured can be
> misconfigured.".
>
> However I don't know enough about ASICs to judge whether or not 24
> bits could be acceptably accommodated for all cases, so I accept 2
> sizes, 16 and 32 bits.
>
I know from a SW implementation POV it's generally best for fields to
be 2^n bytes in size and have natural alignment to that size (i.e.
offset % 2^n == 0). Fortunately, most IETF L3 and L4 protocols follow
these conventions. For completeness, and because we could encode ILA
or ILNP identifiers, it would be nice to have a 64-bit size also IMO.

> > *C* No mention what happens when node in the SID list is down ... modern networks do not tolerate outages required to signal all the way to the ingress to redo computation and start repair from there. This is BAD NETWORK DESIGN.
> >
>
> This problem exists with any source routing, and has existed for many
> decades in IPv6, IPv4, MPLS and Token Ring source routing. ICMPv6,
> routing protocol signalling, BFD, etc. are all existing solutions to
> this problem.
>
> > *D* Separation of destination actions into Destination Options Header. For some it may be a plus - for me this is minus.
> >
>
> RFC8200 compliance.
>
> Separating hop-by-hop and destination option processing is good design
> because forwarding needs to be as simple and as fast as possible.
>
> Complex packet handling should be left to End-hosts because they're
> only performing actions for themselves, so the cost of complex
> processing is limited to the end-host that is exclusively benefiting
> from it.
>
> Complex packet handing in the network spreads the complexity costs to
> all end-hosts attached to the network, even those that don't and may
> never benefit from it.
>
> > *E* Unlike say SRH RFC this draft does not even mention once that to impose CRH packets should be encapsulated.
> >
>
> While I think it is implicit in RFC8200, it probably should be
> explicitly mentioned with a reference to RFC 2473, which shows how to
> add new information through EHs to an existing packet via tunnel
> encapsulation.

Note this is implied in the term "source routing". It is only the
source node that can set a routing header. IP-IP encapsulation works
because the encapsulator is the source of the packet as far as the
network is concerned. The CRH protocol format is properly agnostic to
whether the header is being created at the original source or by some
node encapsulating the packet in flight. It might be worth mentioning
since it does seem like a pretty common use case.

Tom

>
> Regards,
> Mark.
>
>
> > Thx,
> > R.
> >
> > On Mon, May 18, 2020 at 4:26 PM Tom Herbert <tom@herbertland.com> wrote:
> >>
> >>
> >>
> >> On Wed, May 13, 2020 at 1:12 PM Robert Raszuk <robert@raszuk.net> wrote:
> >> >
> >> > John,
> >> >
> >> > May I add one more perspective to this.
> >> >
> >> > 6man just standardized SRH. Why SRH content can not be filled by controller and used for the very same purpose as authors intend to use CRH for ?
> >> >
> >> > Oh one may say there is no compression there ... If so I recommend to take a look at uSID and vSID proposals.
> >> >
> >> Hi Robert,
> >>
> >> I took a look at these proposals. It's very obvious that the format of CRH is significantly simpler than either of these and is simpler than SRH as well. Complexity in protocol format correlates to how amenable the protocol is to feaible implementation (in HW and SW), how well it can be secured, and how efficient in terms of wire overhead and processing overhead.
> >>
> >> It is interesting to note that figure Figure 3 in draft-decraene-spring-srv6-vlsid-03 would be identical to Figure 1 in draft-bonica-6man-comp-rtg-hdr-22 if the Last Entry, Flags, Tag, and TLVs fields were removed. Since these fields aren't used in the common case, they are easily compressed by simply removing them. So the material difference between the formats is how the length of SIDs is determined. In CRH this is explicit in the routing type, there is one type for 16-bit SID format and one type for 32-bit format.. AFAICT in vSID the SID length is more like a negotiated parameter that per destination address that uses the same routing type as SRH. While the vSID method might be more flexible and allow arbitrary SID lengths, it leads to more complexity since the routing header can no longer be parsed without external information. For instance, if a management device snoops packets in the path it wouldn't be able to parse the SID list without participating in the protocol that distributes the length information. Similarly, if a legacy SRH receiver receives a vSID header it seems like it would parse it incorrectly.
> >>
> >> In any case, I don't see why the vSID and CRH proposals couldn't be unified or why SR wouldn't be able to use CRH to convey compressed SIDs.
> >>
> >> Tom
> >>
> >> > Is it in good interest of anyone deploying segment routing to have to deal with N different non interoperable headers ? Does it make anyone's life easier ?
> >> >
> >> > Kind regards,
> >> > Robert.
> >> >
> >> > PS. So my own side observation lead me to believe it is not about "too early to ask for adoption" ... it is actually "way too late"
> >> >
> >> > On Wed, May 13, 2020 at 10:01 PM John Scudder <jgs=40juniper.net@dmarc.ietf.org> wrote:
> >> >>
> >> >> I’m a little confused about this conversation and I’d like to ask the chairs for clarification. My actual questions are at the end of this long(ish) message, and can be summarized as (1) does 6man require consent from SPRING before defining routing headers, and (2) what criteria are the chairs using to decide when an adoption call is OK?
> >> >>
> >> >> It seems to me there are at least two, only vaguely related, conversations going on. One of them is a debate about the assertion that 6man can’t even consider taking up CRH unless SPRING approves it. The other is a more free-wheeling line of questioning about “what is CRH for anyway”?
> >> >>
> >> >> I presume both of these relate to Ron’s request for an adoption call. Here’s what the minutes from the interim have:
> >> >>
> >> >> > Bob: Thank you Ron. I think it's too early for adoption call.
> >> >> >
> >> >> > Ron: What is needed to get to adoption call.
> >> >> >
> >> >> > Bob: I can't answer right now.
> >> >> >
> >> >> > Ron: Can I ask on list?
> >> >> >
> >> >> > Bob: OK.
> >> >> >
> >> >> > Ole: Related to what's going on in spring.
> >> >>
> >> >> Too bad we have no audio recording, but that’s not too far from my recollection. Anyway, I don’t think I’ve seen this answered on list yet, so I’m asking again.
> >> >>
> >> >> Regarding the SPRING-related process stuff:
> >> >>
> >> >> I have quite a bit of history with how SPRING was chartered; I was one of the original co-chairs and helped write the charter, god help me. I can tell you for certain there was no intent that SPRING should have exclusive ownership of source routing in the IETF, the name isn’t a power-grab, it’s a clever backronym, as we do in the IETF. If one entity in the IETF were to take charge of all source routing, that sounds more like a new area than a WG. But don’t take my word for it, go read the various iterations of the charter. As anyone who’s looked at the Segment Routing document set can tell, Segment Routing is one, very specific, way of doing source routing. As Ketan and others have pointed out, it’s a pile of architecture plus the bits and pieces to instantiate that architecture. That is fine, but the idea that merely because a technology might be used to instantiate part of that architecture, it’s owned by SPRING, is overreach. Just because a sandwich is a filling between two pieces of starch, doesn’t mean every filling between two pieces of starch is a sandwich. [1]
> >> >>
> >> >> But at any rate, the question for the chairs is: do you think 6man needs SPRING’s permission in order to consider adopting CRH? Does 6man need permission from SPRING for all routing headers, or just some, and if it’s just some, what characterizes them?
> >> >>
> >> >> Regarding the more general “what is CRH for anyway” stuff:
> >> >>
> >> >> This seems to me to be exactly the kind of discussion one would normally have in the context of an adoption call. Why is it not being had in that context? To rewind back to the interim, if it’s still “too early for adoption call”, what has to happen for it not to be too early?
> >> >>
> >> >> Thanks,
> >> >>
> >> >> —John
> >> >>
> >> >> [1] https://cuberule.com
> >> >> --------------------------------------------------------------------
> >> >> 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
> >> > --------------------------------------------------------------------
> >
> > --------------------------------------------------------------------
> > IETF IPv6 working group mailing list
> > ipv6@ietf.org
> > Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> > --------------------------------------------------------------------