Re: [spring] draft-ietf-spring-srv6-srh-compression

Francois Clad <fclad.ietf@gmail.com> Mon, 26 February 2024 18:14 UTC

Return-Path: <fclad.ietf@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 30C13C17C88A for <spring@ietfa.amsl.com>; Mon, 26 Feb 2024 10:14:58 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.105
X-Spam-Level:
X-Spam-Status: No, score=-7.105 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, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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 (2048-bit key) header.d=gmail.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 m1dqWubA21zS for <spring@ietfa.amsl.com>; Mon, 26 Feb 2024 10:14:56 -0800 (PST)
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com [IPv6:2a00:1450:4864:20::52c]) (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 ietfa.amsl.com (Postfix) with ESMTPS id 909FDC17C884 for <spring@ietf.org>; Mon, 26 Feb 2024 10:14:56 -0800 (PST)
Received: by mail-ed1-x52c.google.com with SMTP id 4fb4d7f45d1cf-563b7b3e3ecso4714653a12.0 for <spring@ietf.org>; Mon, 26 Feb 2024 10:14:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1708971295; x=1709576095; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=N+n+Z+R7QTmMWhBjZ1AZFqAVkGJkhvaMSlQwsx9RNaU=; b=aYCre7KWp1TN03pjKtAkKY75yCoRNOsRaw2yqswwo0hCetSBs7a80P+1tDO8gw1PGJ OceBJYVAl7z1h6U+Ls+qVWspVXw6B2q5XREzmrLuWyytpP5kpEmoDPq24ahA44Ef7vq2 WEgfaQBX5MH7lQ7OfvTwy1F/WvMA+i7vk2TrYnjex/IDdbp/Qe9DUA750z2MNR+lNetP oMmB3UlhzI4lxxwkQTMLFx5HEWZHAnUrhgQZjJ5DlELxjF5NofngHZ2+2AWmMCxg09w5 r1ssBOax7FGdXmCbyKZZAZawXkZg66RQbfWjbPAIhAoWAvlFKalZtOyrtNhRMFQwKY9F Jtrg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708971295; x=1709576095; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=N+n+Z+R7QTmMWhBjZ1AZFqAVkGJkhvaMSlQwsx9RNaU=; b=YKTS3IyemsQkhoG0NBQuhcaxvt3//RoSkGhyfYfOqxkLqKhfJiwiuTAznFX4bcmshR 8vDSq7kpqGBy47Y+3yVLPpxCITVYQmRiBBG43mL8SpMDml0KvjG22k+0vz4lv7Oh5Dn3 g9V9b2BHHBn7WkORjwbCVUSGiS5fYS563Zc2g1Hb8opZQSIGdcDqy9OidQiDqzmG0XNF UfJ/cnpfbmco+WtA7ueC0cBkeNZGUDNz3Flk43lpID1fgI/yiNS7k1ruOWOtS3AGVmow 9IJ0utQLelwgLhewdlRfR2tEWCAYt7oJek6yw8E/SUzpRn42YDAAStoWutSAbAeKllvn CV0A==
X-Gm-Message-State: AOJu0YyUy5tcd5f6BfFz4KNZhmbmvyc8rWHfKcJ9gqPynaFSIbYaE63B WMRqxmBeSMhwPeH0z0jG1dLneMCrZYzPj0LKkBfDHsbM80jGDC8g9/Ep07VuwAz1f0oFrDkUKuH A6MIR+CVLKDJr8Rk0nAb0RT86iA==
X-Google-Smtp-Source: AGHT+IFrKRJRexZI/cNnk9S6bVPHw2kLhpX6QV2kfHjb538cbysoPtENml/9KZ1LbQZtCPCtcm/kDZecEEzc9BLv4vc=
X-Received: by 2002:a17:906:1745:b0:a3e:7eb1:4bf6 with SMTP id d5-20020a170906174500b00a3e7eb14bf6mr5865168eje.2.1708971294730; Mon, 26 Feb 2024 10:14:54 -0800 (PST)
Received: from 1064022179695 named unknown by gmailapi.google.com with HTTPREST; Mon, 26 Feb 2024 12:14:54 -0600
Received: from 1064022179695 named unknown by gmailapi.google.com with HTTPREST; Mon, 26 Feb 2024 12:14:50 -0600
MIME-Version: 1.0 (Mimestream 1.2.6)
References: <DU2PR03MB8021764E2F17F0D527E3FA3CFA472@DU2PR03MB8021.eurprd03.prod.outlook.com> <BL0PR05MB53163A098023244520ADCEEBAE472@BL0PR05MB5316.namprd05.prod.outlook.com> <CAOj+MMEc1R8fZZwgOEF2-mK8S0+PE+zBR3Yz9vwXBh-umQPAjQ@mail.gmail.com> <DU2PR03MB8021CE3063F9E5B59B9A142FFA472@DU2PR03MB8021.eurprd03.prod.outlook.com> <6d32265d55cb4533b7da5d2d25e7c8d4@huawei.com> <DU2PR03MB8021F2F2194249158DE985B9FA462@DU2PR03MB8021.eurprd03.prod.outlook.com> <CAHT6gR9twG0Y8ZYF_c=UABC1g0=qM=MaDuqu8b5TY7VFRODqEg@mail.gmail.com> <b0c9e6d4-4fb3-3c55-a256-c58f2c4dec1d@foobar.org> <CACMsEX8xea-Z28JvVqpVh2+EEhDkhkDwcMnktphozUQcS9Y0uw@mail.gmail.com> <CAOj+MMH9RvukpJxPNRKQbLRnYNRidy_MPXerQZziSUX8zAmzuw@mail.gmail.com> <CACMsEX8KfAZ7xTya9RqDUAhMqTgw80-pxkOAQfJGpd9woGRtrA@mail.gmail.com> <DU2PR03MB802108141BB0228B59050E2BFA462@DU2PR03MB8021.eurprd03.prod.outlook.com> <CAHT6gR-h9=t_zQ3D1SmU1BnSwQGfTowMEjWxjsL_QJNQk5tJfw@mail.gmail.com>
In-Reply-To: <CAHT6gR-h9=t_zQ3D1SmU1BnSwQGfTowMEjWxjsL_QJNQk5tJfw@mail.gmail.com>
From: Francois Clad <fclad.ietf@gmail.com>
Date: Mon, 26 Feb 2024 12:14:54 -0600
Message-ID: <CAHT6gR-m9KiRZGmWfBCx1ORQ3mdCYBcUSaq0hWth915efRrorQ@mail.gmail.com>
To: Andrew Alston - IETF <andrew-ietf@liquid.tech>
Cc: "spring@ietf.org" <spring@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000f42b9a06124ce2a5"
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/7V8SliycPOq0Lj2EMjtCNUlh1VQ>
Subject: Re: [spring] 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: Mon, 26 Feb 2024 18:14:58 -0000

 Hi Andrew,

Any thoughts on the below?

Thanks,
Francois

On Feb 8, 2024 at 16:03:57, Francois Clad <fclad.ietf@gmail.com> wrote:

> Hi Andrew,
>
> Assuming that Nick is correct and that you are indeed referring to
> middleboxes as defined in RFC 3234, can you describe the problem that a
> network operator would face when deploying SRv6 with C-SID compression to
> encapsulate the end-user traffic (i.e., encapsulate on ingress PE and
> decapsulate on egress PE) traversing their network?
>
> Will those middleboxes inspect the L4 header of the encapsulated IP packet
> (or Ethernet frame)? Given that they would compute the checksum using the
> pseudo-header of the inner IP packet, the SRv6 encapsulation should not
> cause any problem there, right?
>
> Thanks,
> Francois
>
>
> On Feb 7, 2024 at 01:00:28, Andrew Alston - IETF <andrew-ietf@liquid.tech>
> wrote:
>
>> Hi Nick,
>>
>> Speaking with no hats
>>
>> I’ve gotta unfortunately tread fairly carefully here - but yes - such
>> systems exist. Systems to do passive abnormality checking on the network
>> and analyzing packets and packet flows that do l4 checksum validation and a
>> host of other things to look for traffic abnormalities across backbone
>> systems etc and react/ alert accordingly.
>>
>> These systems do do layer 4 checksumming and a host of other things in
>> their analysis - and would be pretty badly thrown off if all the checksums
>> suddenly went to hell and it couldn’t calculate them. Unfortunately I’m
>> simply not in a position where I can say more than that - suffice to say
>> they exist and this would cause issues
>>
>> Andrew
>>
>> Andrew Alston
>>
>> Internal All Employees
>> ------------------------------
>> *From:* Nick Buraglio <buraglio@forwardingplane.net>
>> *Sent:* Wednesday, February 7, 2024 2:32:22 AM
>> *To:* Robert Raszuk <robert@raszuk.net>
>> *Cc:* Andrew Alston - IETF <andrew-ietf@liquid.tech>; Antoine
>> FRESSANCOURT <antoine.fressancourt@huawei.com>; Francois Clad <
>> fclad.ietf@gmail.com>; Nick Hilliard <nick@foobar.org>; Ron Bonica <
>> rbonica@juniper.net>; spring@ietf.org <spring@ietf.org>
>> *Subject:* Re: [spring] draft-ietf-spring-srv6-srh-compression
>>
>> Well, the reason I ask is because there are plausible use cases for
>> running SRv6 on hosts to create TE paths across a WAN or to a DTN (data
>> transfer node) and I have definitely seen large carrier grade middle boxes
>> in the paths of WANs.
>> Part of what my org does is to facilitate very large, performant data
>> transfers across LFNs and I could see this being a potential issue, even
>> though there have been great pains taken to remove middle boxes in the path
>> of what we are doing (see: ScienceDMZ).
>> What I have not seen is a middle box that does, as far as I know, L4
>> checksum checking, or that understands SRv6 and is doing so in concert with
>> things like DPI.
>> I’m not trying to debate that there may be an issue, more trying to
>> understand the current landscape and what may be in use in the future.
>>
>> what I’ve seen is two fold: a complete ignorance of routing headers and a
>> complete filter of them.
>>
>>
>> On Tue, Feb 6, 2024 at 4:05 PM Robert Raszuk <robert@raszuk.net> wrote:
>>
>> Hey Nick,
>>
>> All I could perhaps add to this thread here is that from my
>> experience the "middleboxes" RFC3234 talks about are placed at the edges or
>> peripherals of the core networks (example DMZs). In those parts of the
>> network rarely anyone runs any form of SRv6 be it with or without SRH.
>>
>> So while in theory you could put an IDS/IPS in the middle of the 400G
>> core transit in practice it is never the case.
>>
>> Kind regards,
>> Robert
>>
>>
>>
>> On Tue, Feb 6, 2024 at 10:49 PM Nick Buraglio <
>> buraglio@forwardingplane.net> wrote:
>>
>> On Tue, Feb 6, 2024 at 1:58 PM Nick Hilliard <nick@foobar.org> wrote:
>> >
>> > Francois,
>> >
>> > Fairly sure Andrew was referring to middleboxes, as defined in rfc3234.
>> >
>> > In terms of what rfc8200 does or doesn't say, if srv6 is going to
>> unearth problems with the well-established operational practices of
>> embedding middleboxes deeply inside networks, then this will need to be
>> addressed. Protocols have to work, and 30 years of middleboxes aren't going
>> to go away any time soon.
>>
>> Definitely agree with the middle box issue, middle boxes aren't going
>> away and are fairly pervasive. As I asked previously, and Tal more
>> eloquently requested, do we have examples we can reference for
>> failure? Do we have a working example of a middle box that can verify
>> a checksum with a SRH? That would imply that the middle box either
>> participates in an SRv6 domain or ignores / passes the RH4. My testing
>> of many core routing platforms has left me wanting in the "filtering
>> RH4" department, and middle boxes tend to lag a handful of years
>> behind carrier gear.
>>
>> >
>> > Nick
>> >
>> > Francois Clad wrote on 06/02/2024 16:58:
>> >
>> > Hi Andrew,
>> >
>> > The L4 checksum issue that you have brought up is from the point of
>> view of a “middleware” node. Is my understanding correct? This is not from
>> either the source or destination node point of view which is covered by
>> section 8.1 of RFC 8200.
>> >
>> > Can you please describe this “middleware” and perhaps point to its IETF
>> specification?
>> >
>> > Thanks,
>> > Francois
>> >
>> > On Feb 6, 2024 at 11:16:12, Andrew Alston - IETF <andrew-ietf=
>> 40liquid.tech@dmarc.ietf.org> wrote:
>> >>
>> >> I think it’s only fair to clarify my remarks – again – speaking
>> entirely as a contributor.
>> >>
>> >>
>> >>
>> >> Let’s be clear – the middlware boxes will work in most cases – except
>> when there is no SRH.
>> >>
>> >>
>> >>
>> >> The problem here is that if you apply a Micro-SID – which is imposed
>> by originating system – and have no SRH – the DA of the packet is changing
>> along the way – and the L4 checksum will be broken.  There is no way to
>> actually calculate the correct L4 checksum in flight – and in reality the
>> originating system will now need to impose a checksum that is invalid at
>> the start for it to be correct at the end – breaking end to end check
>> summing.  This is a problem.
>> >>
>> >>
>> >>
>> >> Let’s look at what 8200 says:
>> >>
>> >>
>> >>
>> >>       o  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.
>> >>
>> >>
>> >>
>> >> Now, in the case of no SRH – the DA address placed by the originating
>> host – is *NOT* the final DA – because of the manipulation in the middle.
>> >>
>> >>
>> >>
>> >> The reality is that middleware boxes are (unfortunately) common –
>> especially in this part of the world – they are used by state and other
>> entities for DPI and traffic control etc – and they are used for IDS
>> purposes etc – and breaking the L4 checksum in flight with no way for these
>> boxes to calculate the correct checksum – will break existing deployments –
>> that – is a problem and it needs to be addressed.  I would be quite fine if
>> there was explicit text detailing this that was explicitly approved by 6man
>> as the originators of 8200 (and a clear indication that this document
>> updates 8200) – or alternatively a -BIS to 8200.  Either way – if you break
>> the checksum – this needs explanatory text and it needs approval for 6man
>> via a 6man Last call as far as I am concerned.
>> >>
>> >>
>> >>
>> >> Thanks
>> >>
>> >>
>> >>
>> >> Andrew
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> Internal All Employees
>> >>
>> >> From: Antoine FRESSANCOURT <antoine.fressancourt=
>> 40huawei.com@dmarc.ietf.org>
>> >> Date: Tuesday, 6 February 2024 at 12:16
>> >> To: Andrew Alston - IETF <andrew-ietf@liquid.tech>, Robert Raszuk <
>> robert@raszuk.net>, Ron Bonica <rbonica@juniper.net>
>> >> Cc: spring@ietf.org <spring@ietf.org>
>> >> Subject: RE: [spring] draft-ietf-spring-srv6-srh-compression
>> >>
>> >> Hello,
>> >>
>> >>
>> >>
>> >> I tend to agree with Andrew that the fact that the verification of a
>> L4 checksum by a middlebox breaks is a problem. But I think this is a huge
>> problem with the middleboxes, not with SRv6.
>> >>
>> >>
>> >>
>> >> According to me, reading RFC 8200 gives rather clear guidelines with
>> regards to the computation of the L4 checksum. This checksum should be
>> computed using the destination address seen by the destination verifying
>> the checksum. As L4 protocols are end to end protocols, the checksum
>> verifier is the end point destination of the packet, and not a middlebox on
>> the path. If a middlebox breaks the communication by looking at fields it
>> should not look at, then the problem is the intervention of the middlebox.
>> >>
>> >>
>> >>
>> >> Best,
>> >>
>> >>
>> >>
>> >> Antoine
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> From: spring <spring-bounces@ietf.org> On Behalf Of Andrew Alston -
>> IETF
>> >> Sent: lundi 5 février 2024 20:32
>> >> To: Robert Raszuk <robert@raszuk.net>; Ron Bonica <rbonica@juniper.net
>> >
>> >> Cc: spring@ietf.org
>> >> Subject: Re: [spring] draft-ietf-spring-srv6-srh-compression
>> >>
>> >>
>> >>
>> >> I call breaking any middleware that does checksum validation a problem
>> - and a big one
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> Andrew Alston
>> >>
>> >>
>> >>
>> >> Internal All Employees
>> >>
>> >> ________________________________
>> >>
>> >> From: Robert Raszuk <robert@raszuk.net>
>> >> Sent: Monday, February 5, 2024 7:16:23 PM
>> >> To: Ron Bonica <rbonica@juniper.net>
>> >> Cc: Andrew Alston - IETF <andrew-ietf@liquid.tech>; spring@ietf.org <
>> spring@ietf.org>
>> >> Subject: Re: [spring] draft-ietf-spring-srv6-srh-compression
>> >>
>> >>
>> >>
>> >> Hi Ron,
>> >>
>> >>
>> >>
>> >> Is there a problem ?
>> >>
>> >>
>> >>
>> >> If I read RFC8200 L4 checksum is computed by the packet originator and
>> validated by the packet's ultimate receiver.
>> >>
>> >>
>> >>
>> >> In all SPRING work to the best of my knowledge the vast majority of
>> packets are only encapsulated by transit nodes.
>> >>
>> >>
>> >>
>> >> Is there any formal mandate in any of the RFCs that an encapsulating
>> node must mangle the inner packet's L4 checksum ? I don't think so but
>> stand open to get my understanding corrected.
>> >>
>> >>
>> >>
>> >> Cheers,
>> >>
>> >> Robert
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> On Mon, Feb 5, 2024 at 5:04 PM Ron Bonica <rbonica=
>> 40juniper.net@dmarc.ietf.org> wrote:
>> >>
>> >> Folks,
>> >>
>> >>
>> >>
>> >> Has anyone proposed a solution to the L4 checksum problem that Andrew
>> talks about?
>> >>
>> >>
>> >>
>> >>                                           Ron
>> >>
>> >>
>> >>
>> >> Juniper Business Use Only
>> >>
>> >> ________________________________
>> >>
>> >> From: spring <spring-bounces@ietf.org> on behalf of Andrew Alston -
>> IETF <andrew-ietf=40liquid.tech@dmarc.ietf.org>
>> >> Sent: Monday, February 5, 2024 5:21 AM
>> >> To: spring@ietf.org <spring@ietf.org>
>> >> Subject: [spring] draft-ietf-spring-srv6-srh-compression
>> >>
>> >>
>> >>
>> >> [External Email. Be cautious of content]
>> >>
>> >>
>> >>
>> >> Hi All,
>> >>
>> >>
>> >>
>> >> (In capacity as a contributor and wearing no other hats)
>> >>
>> >>
>> >>
>> >> At this point I cannot support progression of this document until the
>> issues around the L4 Checksum have been resolved.  It’s been clearly stated
>> in other emails on the list that in certain circumstances the behavior
>> described in this document break the L4 checksum as defined in RFC8200.
>> This requires an update to RFC8200 to fix it – and I’m not sure that spring
>> can update 8200 absent the consent of 6man, which I’m not sure has been
>> asked for, nor am I sure that a spring document can update something like
>> 8200 in an area so fundamental as the checksum without a -BIS, which would
>> have to be done via 6man.  The L4 checksum issue though is real – and it
>> cannot simply be ignored.
>> >>
>> >>
>> >>
>> >> I also have deep concerns that the compression document creates
>> something that (in a similar way to SRv6) creates something that is
>> completely non-conformant with RFC4291.  There are multiple references to
>> this in draft-6man-sids, and should draft-6man-sids become an RFC I would
>> argue that it should probably be a normative reference in this document –
>> on the logic that this document relies on similar RFC4291 violations that
>> srv6 itself does (and for the record, just because SRv6 itself violates
>> RFC4291 as is clearly documented in draft-6man-sids – does not make it
>> acceptable to do so in yet another draft without clear and unambiguously
>> stating the deviations and ideally updating RFC4291 to allow for said
>> deviations)
>> >>
>> >>
>> >>
>> >> I believe these two issues alone are sufficient that to pass this
>> document would create still further tensions about the relationship between
>> SRv6 and IPv6 and lead to confusion.  As such – I believe these issues need
>> to be adequately dealt with – and the solutions to them need to be approved
>> by 6man as the working group that holds responsibility for ipv6 maintenance.
>> >>
>> >>
>> >>
>> >> Thanks
>> >>
>> >>
>> >>
>> >> Andrew Alston
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> Internal All Employees
>> >>
>> >> _______________________________________________
>> >> spring mailing list
>> >> spring@ietf.org
>> >> https://www.ietf.org/mailman/listinfo/spring
>> >>
>> >> _______________________________________________
>> >> spring mailing list
>> >> spring@ietf.org
>> >> https://www.ietf.org/mailman/listinfo/spring
>> >
>> >
>> >
>> > _______________________________________________
>> > spring mailing list
>> > spring@ietf.org
>> > https://www.ietf.org/mailman/listinfo/spring
>> >
>> >
>> > _______________________________________________
>> > spring mailing list
>> > spring@ietf.org
>> > https://www.ietf.org/mailman/listinfo/spring
>>
>>