Re: [spring] C-SIDs and upper layer checksums (draft-ietf-spring-srv6-srh-compression)

Joel Halpern <jmh.direct@joelhalpern.com> Wed, 03 April 2024 22:11 UTC

Return-Path: <jmh.direct@joelhalpern.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 0164FC14F680 for <spring@ietfa.amsl.com>; Wed, 3 Apr 2024 15:11:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.797
X-Spam-Level:
X-Spam-Status: No, score=-2.797 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=joelhalpern.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2QsgY9kKeY92 for <spring@ietfa.amsl.com>; Wed, 3 Apr 2024 15:10:59 -0700 (PDT)
Received: from maila2.tigertech.net (maila2.tigertech.net [208.80.4.152]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1615BC14F61D for <spring@ietf.org>; Wed, 3 Apr 2024 15:10:58 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by maila2.tigertech.net (Postfix) with ESMTP id 4V8zTt5RGrz6Gywx; Wed, 3 Apr 2024 15:10:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelhalpern.com; s=2.tigertech; t=1712182258; bh=IW0mgdZpkt23d7kFfJpjP2IcedTcinoxU10qtzwUXrs=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=dIQgia0KGpV656nQRl0QW/loIRUnk937Sfys99rGR9vIGo0qPruQ+ch+aQCJCVUTt FzP+sCLTB2cum4Z8W7wlMCjKVKv+KgYNwMT6vhOv7IOLL701QiCHvjz3/YzYUUxeR7 x1aDwL08QS2F9youtSz35gmfpHLlJdkF9DKV2PM8=
X-Quarantine-ID: <8nmwzDs8iTwj>
X-Virus-Scanned: Debian amavisd-new at a2.tigertech.net
Received: from [192.168.22.20] (unknown [50.233.136.230]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by maila2.tigertech.net (Postfix) with ESMTPSA id 4V8zTt1Rggz6Gyss; Wed, 3 Apr 2024 15:10:58 -0700 (PDT)
Content-Type: multipart/alternative; boundary="------------xa67E6oyPueo3YkV9zXK2AdH"
Message-ID: <e9731f5f-f583-456f-b1a2-ba99e1b9dda8@joelhalpern.com>
Date: Wed, 03 Apr 2024 18:10:55 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: Robert Raszuk <robert@raszuk.net>
Cc: SPRING WG List <spring@ietf.org>
References: <CAMMESsyCYJwWP48=a9RWx3n8txS1eR4VLnUeE++VEdHKFeKOjw@mail.gmail.com> <CAOj+MMH9-F0nWG6zDZXxAGOQ7T8T9bUn74f4o=Fh2p0zah86Gg@mail.gmail.com> <e50b6a1b-08ae-4c8c-b3f0-0900fe8a9158@joelhalpern.com> <CAOj+MME5yL2S9Y8woVhLpkx8Xjq8g1+Ngw0RjH7o5u82p-38yg@mail.gmail.com> <71b6f07e-08d6-40a0-9436-e4acebf96c3b@joelhalpern.com> <CAOj+MMGNbYy=QZdptdKfYa-1pGfO0OeEbc_SsOVcvhgR+==sHQ@mail.gmail.com>
Content-Language: en-US
From: Joel Halpern <jmh.direct@joelhalpern.com>
In-Reply-To: <CAOj+MMGNbYy=QZdptdKfYa-1pGfO0OeEbc_SsOVcvhgR+==sHQ@mail.gmail.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/uKM_qMucUIN5XnN8OmapEtFPTTQ>
Subject: Re: [spring] C-SIDs and upper layer checksums (draft-ietf-spring-srv6-srh-compression)
X-BeenThere: spring@ietf.org
X-Mailman-Version: 2.1.39
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: Wed, 03 Apr 2024 22:11:03 -0000

I can not speak to the "norm" for other working groups.  The SPRING 
charter is very specific about what we have to do if we want to change 
an underlying protocol.  We have to go back to the WG which owns that 
protocol.

6man gets to decide if the change is acceptable, and if it is acceptable 
how it is to be represented.  SPRINGs job is to make sure we are asking 
the question we intend.

Yours,

Joel

On 4/3/2024 6:05 PM, Robert Raszuk wrote:
> Ok Joel,
>
> Thank you for this clarification.
>
> To me the actual spirit of RFC8200 8.1 is to say that it is ok to 
> compute the checksum by the src such that it comes out right at the 
> final destination.
>
> But I guess we can have different opinions about that.
>
> But what I find specifically surprising here is that it is a norm in 
> IETF to have new specifications defining protocol extensions and their 
> behaviour and never go back to the original protocol RFC to check if 
> this is ok or not. If that would not be a normal process I bet we 
> would still be using classful IPv4 routing all over the place.
>
> Regards,
> Robert
>
>
> On Wed, Apr 3, 2024 at 11:28 PM Joel Halpern <jmh@joelhalpern.com> wrote:
>
>     The concern with regard to the text that the chairs are asking
>     about is not about intermediate nodes verifying the checksum.  The
>     text does not talk aabout that, so we are not asking about that.
>
>     But, the text in 8200 specifies how the originating node is to
>     compute the upper layer checksum.  It doesn't say "do whatever you
>     need to do to make the destination come out right".  It provides
>     specific instructions.  Yes, it is understandable that those
>     instructions do not cover the compressed container cases.  Which
>     is why the compression document specifies changes to those procedures.
>
>     Thus, we need to ask 6man how they want to handle the change in
>     the instructions in 8200.
>
>     the question we are asking SPRING is whether there is any
>     clarification people want to the text in the compression draft
>     before we send the question over to 6man.
>
>     Yours,
>
>     Joel
>
>     On 4/3/2024 5:15 PM, Robert Raszuk wrote:
>>     Hi Joel,
>>
>>     My interpretation of text from RFC8200 is that it allows
>>     discrepancy between the header and the upper layer checksum as
>>     long as final packet's destination sees the correct one.
>>
>>     The last condition is met.
>>
>>     So I see no issue.
>>
>>     Sure RFC8200 does not talk about SRH nor cSIDs, but provides a
>>     hint on how to handle such future situations.
>>
>>     With that being said I would like to still understand what real
>>     problem are we hitting here ...
>>
>>     Kind regards,
>>     Robert
>>
>>     On Wed, Apr 3, 2024 at 11:09 PM Joel Halpern
>>     <jmh@joelhalpern.com> wrote:
>>
>>         There are two cases covered in section 6.5 of the compression
>>         draft that appear to be at variance with secton 8.1 of RFC 8200.
>>
>>         First, if the final destination in the routing header is a
>>         compressed container, then the ultimate destination address
>>         will not be the same as the final destination shown in the
>>         routing header.
>>
>>         Second, if a uSID container is used as the destination
>>         address and no SRH is present, then in addition to the above
>>         problem there is no routing header to trigger the behavior
>>         described.
>>
>>         Yours,
>>
>>         Joel
>>
>>         On 4/3/2024 4:22 PM, Robert Raszuk wrote:
>>>         Hi Alvaro,
>>>
>>>             Section 6.5 of draft-ietf-spring-srv6-srh-compression
>>>             describes the
>>>             behavior when an originating node inside an SRv6 domain
>>>             creates a
>>>             packet with a C-SID as the final destination. _This
>>>             description differs
>>>             from the text in Section 8.1 of RFC8200._
>>>
>>>
>>>         I would like you to clarify the above statement -
>>>         specifically of the last sentence.
>>>
>>>         Reason for this that after looking at both drafts I find
>>>         section 6.5 of the subject draft to be exactly in line with
>>>         RFC8200 section 8.1 especially with the paragraf which says:
>>>
>>>         *         If the IPv6 packet contains a Routing header, the
>>>         Destination
>>>                  Address used in the pseudo-header is that of the final
>>>                  destination.  At the originating node, that address
>>>         will be in
>>>                  the last element of the Routing header; at the
>>>         recipient(s),
>>>                  that address will be in the Destination Address
>>>         field of the
>>>                  IPv6 header.
>>>         *
>>>
>>>         So before we dive into solutions (as Andrew has already
>>>         provided a few of) I think we should first agree on what
>>>         precise problem are we solving here ?
>>>
>>>         Many thx,
>>>         Robert
>>>
>>>         PS. As a side note I spoke with my hardware folks - just to
>>>         check if validation of upper-layer checksum is even an
>>>         option for transit nodes. The answer is NO as most data
>>>         plane hardware can read at most 256 bytes of packets. So
>>>         unless there is some specialized hardware processing up to
>>>         9K packets in hardware at line rates this entire discussion
>>>         about checksum violations, fears of firing appeals is just
>>>         smoke.
>>>