Re: [IPv6] Subject: Mandating SRH when using C-SIDs (draft-ietf-spring-srv6-srh-compression)

Robert Raszuk <robert@raszuk.net> Thu, 04 April 2024 19:25 UTC

Return-Path: <robert@raszuk.net>
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 42233C14F6A0 for <ipv6@ietfa.amsl.com>; Thu, 4 Apr 2024 12:25:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.096
X-Spam-Level:
X-Spam-Status: No, score=-2.096 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_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=raszuk.net
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 KJJnMRA5zerf for <ipv6@ietfa.amsl.com>; Thu, 4 Apr 2024 12:25:03 -0700 (PDT)
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com [IPv6:2a00:1450:4864:20::52b]) (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 5F936C14F70D for <ipv6@ietf.org>; Thu, 4 Apr 2024 12:25:03 -0700 (PDT)
Received: by mail-ed1-x52b.google.com with SMTP id 4fb4d7f45d1cf-56e22574eb3so1391955a12.3 for <ipv6@ietf.org>; Thu, 04 Apr 2024 12:25:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raszuk.net; s=google; t=1712258701; x=1712863501; 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=ULj3BxBuFJ76bm6UTzy6VjXTf6InW4+d7uTBqM/cpj8=; b=Qrux3zVWHsmpLHbLzp5xAUrXjasSbaT7hwU0OFuyMNmkfD9F84pPCCtcocyzHLNSmI p5/zmy5TX/9CVvdgIhv4Cy1suZBzkw1/8tF/cMaryX72RDm6veZWI+kuvNnPC+y9asei M9xbEdXlQtLkjWKA8ODPeOSojFN5rT/67zrm3bQvKsbMW205JBu6LKJ7rV9XqSJaxtIy NzKgpG5TqdYElNp4JwPY4MreRvTlQbz4m+hel01LK9tYc/KdkNXF77iMypKHin3O8gVa 0K/gGvgjgm7K1PRl5ZKvSuux0m8G1/1n/ABWhYNjMhqI1Oum7eDhUobMz3mnRhq/Dj+K mrJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712258701; x=1712863501; 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=ULj3BxBuFJ76bm6UTzy6VjXTf6InW4+d7uTBqM/cpj8=; b=fYMGrCX8bL7H19wRFepW424zubQ6hHMvfviAfXqr8g2HqjI1KnG5Pm+eRsz4zS2AYP q9b7CwxBYVMa3+FmHLd/VuO/vuVbGAx94FhWRXUjo+l3/taFExhl10oe/+oH4bkaUDzW 1lkBRfe45B4k/VaQA5++rXEHsCMHO0flWetpZ55NmF/I4E4q7Z+HTsUG3RMSmWr4ZRtP EKtvDpmATpc9g2pRsRK1FVA+R7eiTNnyBPzwoq9muGGAsroKaF72gScj0p7woPRvy9UF VCPn61yoP216rrtDoPx4ZrhEsY6dEyetWCwTU4Jnqeu15bFro4fsszZEJIPTIIxK2PKi YKww==
X-Forwarded-Encrypted: i=1; AJvYcCXDyy9hCjH68Wufuiw/ulaQBgzZXr8TyjRqpYyVbojrjJz0bs0IJS0Xd1PJucRR+8ygNMGfJyAO+oCjmj6g
X-Gm-Message-State: AOJu0Yy0FQ3yAVL2DWIJGIjvbyt/XYr/zsbMRAn4llExm6JYsAffrYc+ pCPIjwNnD+Ldofy8RzjWFVKWLJAsJ8KZNHZB7qs1HYDy6+8akwUcxKbQMgEw2yaxJ/Y2JJ7iPhm 5Sa5JNVfYt+hyKVJI/l1/Mh2oBDgOXCjoP//shw==
X-Google-Smtp-Source: AGHT+IF/DEdJuufdLfesQsttqdFCAxmK9sszD7OR2KSVD5qD2YL65W145VtgjTRFuPBaiLL/lGVQbqtOzr4SgQ8N2e8=
X-Received: by 2002:a50:9ea6:0:b0:56e:2a38:1fac with SMTP id a35-20020a509ea6000000b0056e2a381facmr661494edf.0.1712258700947; Thu, 04 Apr 2024 12:25:00 -0700 (PDT)
MIME-Version: 1.0
References: <CAMMESszUUdDw-xnDtZKqz75g6SXZ+7mXtZujBKwN+hxypC-Kuw@mail.gmail.com> <CAMMESswF_NnpK7_xk9OXmmocU8P7pne0gmPjCkapXEQVfQA2zQ@mail.gmail.com> <CAHT6gR--Qw7W0ZqyfdEupTpLAjeJ5OLTTjzM6NvQ87zdizgb8Q@mail.gmail.com> <CAO42Z2xHNgzhmgC6mPrauSQZ6Q4mcgD_FOp_uWqRpz=pFwa7_w@mail.gmail.com> <CAHT6gR-q9B60fcvT7nTfErS8M+hUm+x8zoez0KkYiPtTthaYYg@mail.gmail.com> <CALx6S348-_7Xx8VsbdMpK3WLhprCWzx_hs-MQEPFdKtY8MMhrQ@mail.gmail.com> <CAHT6gR8oPH3o7FKx2pTSN=CbysCLcZ-pP98ZwuhGBxPNi0vSXA@mail.gmail.com> <CALx6S36c4tEbbiCAFLskQ1zSgi2the3H1_Sq8Jf7ZBhE=ezbFA@mail.gmail.com> <CAOj+MMH7hVffnF5YJY2hAUCNR5w6eRr65W1KnyyR5xjUe0WASw@mail.gmail.com> <CALx6S37HV3yQSfnYyQnw=A=_Mtnm4H53pSCWxpDvT7zHLx_HPg@mail.gmail.com> <CAOj+MMEhxS8FswKvH62u6W6p6xgx9G0X_kyx8UROc6woQ4wzmw@mail.gmail.com> <CALx6S34WAJxqZzcOVFUw4-L36kBJOx7rowcKbvzJLGUykTmzTg@mail.gmail.com>
In-Reply-To: <CALx6S34WAJxqZzcOVFUw4-L36kBJOx7rowcKbvzJLGUykTmzTg@mail.gmail.com>
From: Robert Raszuk <robert@raszuk.net>
Date: Thu, 04 Apr 2024 21:24:50 +0200
Message-ID: <CAOj+MMFa9UR9bzhJkLrHau6_woeyc_rKVtm08RKxBrfzxcgJ=A@mail.gmail.com>
To: Tom Herbert <tom@herbertland.com>
Cc: Francois Clad <fclad.ietf@gmail.com>, 6man <ipv6@ietf.org>, SPRING WG List <spring@ietf.org>, spring-chairs@ietf.org
Content-Type: multipart/alternative; boundary="000000000000a2535506154a4b65"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/a91LTHmaVNHfDvy0in9lVHRRELU>
Subject: Re: [IPv6] Subject: Mandating SRH when using C-SIDs (draft-ietf-spring-srv6-srh-compression)
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.39
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: Thu, 04 Apr 2024 19:25:07 -0000

Show me Broadcom's SDK which does this in DNX family and we can talk more
about such option.

Best,
R.

On Thu, Apr 4, 2024 at 9:22 PM Tom Herbert <tom@herbertland.com> wrote:

>
>
> On Thu, Apr 4, 2024, 3:12 PM Robert Raszuk <robert@raszuk.net> wrote:
>
>> Tom,
>>
>> >  SR aware routers to update L4 checksum
>>
>> That is completely unrealistic.
>>
>> Show me the box which can forward all interfaces at 800 Gb/s and read
>> entire each packet and compute upper layer checksum on it.
>>
>
> Robert,
>
> It's not necessary to calculate the whole checksum, only the L4 checksum
> needs to be updated by adding in the delta checksum. With IPv6 we can also
> do a checksum neutral mapping. Basically, this uses the low order 16 bits
> in the DA address as the checksum adjustment value. For instance, if we can
> use the low order bits in a SID block then that would be simplest to
> implement.
>
> Tom
>
>
>> If anything just do encap and move on.
>>
>> Thx,
>> R.
>>
>>
>> On Thu, Apr 4, 2024 at 7:06 PM Tom Herbert <tom@herbertland.com> wrote:
>>
>>>
>>>
>>> On Thu, Apr 4, 2024, 12:30 PM Robert Raszuk <robert@raszuk.net> wrote:
>>>
>>>> Hi Tom,
>>>>
>>>> Yes I am with you here.
>>>>
>>>> However let's observe that this is pretty common best practice to
>>>> disable any hardware offload on the box when running tcpdump or wireshark.
>>>>
>>>> In fact some implementations (F5) do it for you automagically :)
>>>>
>>>> And as it has been said based on the fact that hardware offload does
>>>> not understand any Routing Headers it really does not matter if it is there
>>>> or not :)
>>>>
>>>
>>> Robert,
>>>
>>> tcpdump is independent of hardware offload. If the checksum is incorrect
>>> per the packet contents we'll see bad checksums reported if we snoop
>>> packets, but like I said, we can't differentiate the bad from the good.
>>>
>>> Offload becomes an issue for NICs that do protocol specific checksum
>>> offload. We lose the capability on RX which is an inconvenience, on TX we'd
>>> need to change the implementation to ensure the checksum is not computed by
>>> HW.
>>>
>>> If SR without SRH is needed, then I believe the best answer is for SR
>>> aware routers to update L4 checksum when they change DA per NAT
>>> requirements. This solves tcpdump as well as offloads.
>>>
>>> Tom
>>>
>>>
>>>> Cheers,
>>>> R.
>>>>
>>>>
>>>> On Thu, Apr 4, 2024 at 6:11 PM Tom Herbert <tom=
>>>> 40herbertland.com@dmarc.ietf.org> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Thu, Apr 4, 2024, 11:48 AM Francois Clad <fclad.ietf@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi Tom,
>>>>>>
>>>>>> Tcpdump can determine that this packet is steered onto an SRv6 path
>>>>>> by checking if the DA matches the SRv6 SID block.
>>>>>>
>>>>>
>>>>> Francois,
>>>>>
>>>>> That would require introducing external state to tcpdump for correct
>>>>> operation. This would be a major divergence in both implementation and ops
>>>>> compared to how things work today.
>>>>>
>>>>> Tom
>>>>>
>>>>>
>>>>>
>>>>>> Thanks,
>>>>>> Francois
>>>>>>
>>>>>> On 4 Apr 2024 at 16:59:59, Tom Herbert <tom@herbertland.com> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Thu, Apr 4, 2024, 9:39 AM Francois Clad <fclad.ietf@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi Mark,
>>>>>>>>
>>>>>>>> Tcpdump/wireshark decodes the IPv6 header just fine. I do not see
>>>>>>>> any issue here.
>>>>>>>>
>>>>>>>
>>>>>>> Francois,
>>>>>>>
>>>>>>> The problem is that tcpdump can't tell that a packet is an SR packet
>>>>>>> if there's no SRH. For instance, if the checksum is not maintained to be
>>>>>>> correct in the wire then tcpdump will show that the packet has a bad L4
>>>>>>> checksum, but there's no way to tell if that is an SR packet or if the
>>>>>>> checksum is actually bad. This will make debugging checksum failures in the
>>>>>>> network much more difficult, and this affects our ability to debug all
>>>>>>> traffic not just SR packets.
>>>>>>>
>>>>>>> Tom
>>>>>>>
>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> Francois
>>>>>>>>
>>>>>>>> On 4 Apr 2024 at 14:09:43, Mark Smith <markzzzsmith@gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Thu, 4 Apr 2024, 22:50 Francois Clad, <fclad.ietf@gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Alvaro, all,
>>>>>>>>>>
>>>>>>>>>> RFC 8754 allows the SR source node to omit the SRH when it
>>>>>>>>>> contains redundant information with what is already carried in the base
>>>>>>>>>> IPv6 header. Mandating its presence for C-SID does not resolve any problem
>>>>>>>>>> because it will not provide any extra information to the nodes along the
>>>>>>>>>> packet path.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> How are troubleshooting tools like 'tcpdump' going to know how to
>>>>>>>>> automatically decode these packets as SRv6 packets if there is no SRH?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Specifically for the case of middleboxes attempting to verify the
>>>>>>>>>> upper-layer checksum,
>>>>>>>>>>
>>>>>>>>>>    - An SRv6-unaware middlebox will not be able to verify the
>>>>>>>>>>    upper-layer checksum of SRv6 packets in flight, regardless of whether an
>>>>>>>>>>    SRH is present or not.
>>>>>>>>>>    - An SRv6 and C-SID aware middlebox will be able to find the
>>>>>>>>>>    ultimate DA and verify the upper-layer checksum in flight, regardless of
>>>>>>>>>>    whether an SRH is present or not.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Furthermore, transit nodes (e.g., middleboxes) should not attempt
>>>>>>>>>> to identify SRv6 traffic based on the presence of the SRH, because they
>>>>>>>>>> will miss a significant portion of it: all the best-effort or Flex-Algo
>>>>>>>>>> traffic steered with a single segment may not include an SRH, even without
>>>>>>>>>> C-SID. Instead, RFC 8402, 8754, and 8986 define identification rules based
>>>>>>>>>> on the SRv6 SID block.
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>> Francois
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 2 Apr 2024 at 19:44:51, Alvaro Retana <aretana.ietf@gmail.com>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> [Moving this conversation up on your mailbox. :-) ]
>>>>>>>>>>>
>>>>>>>>>>> [Thanks, Robert and Tom for your input!]
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> We want to hear from more of you, including the authors. Even if
>>>>>>>>>>> you already expressed your opinion in a different thread, please chime in
>>>>>>>>>>> here.
>>>>>>>>>>>
>>>>>>>>>>> We will collect feedback until the end of this week.
>>>>>>>>>>>
>>>>>>>>>>> Thanks!
>>>>>>>>>>>
>>>>>>>>>>> Alvaro.
>>>>>>>>>>>
>>>>>>>>>>> On March 28, 2024 at 8:06:18 AM, Alvaro Retana (
>>>>>>>>>>> aretana.ietf@gmail.com) wrote:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Focusing on the C-SID draft, some have suggested requiring the
>>>>>>>>>>> presence of the SRH whenever C-SIDs are used. Please discuss whether that
>>>>>>>>>>> is the desired behavior (or not) -- please be specific when debating the
>>>>>>>>>>> benefits or consequences of either behavior.
>>>>>>>>>>>
>>>>>>>>>>> Please keep the related (but independent) discussion of
>>>>>>>>>>> requiring the SRH whenever SRv6 is used separate. This larger topic may
>>>>>>>>>>> impact several documents and is better handled in a different thread (with
>>>>>>>>>>> 6man and spring included).
>>>>>>>>>>>
>>>>>>>>>>> Thanks!
>>>>>>>>>>>
>>>>>>>>>>> Alvaro
>>>>>>>>>>> -- for spring-chairs
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --------------------------------------------------------------------
>>>>>>>>>>> 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
>>>>>>>> --------------------------------------------------------------------
>>>>>>>>
>>>>>>> --------------------------------------------------------------------
>>>>> IETF IPv6 working group mailing list
>>>>> ipv6@ietf.org
>>>>> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
>>>>> --------------------------------------------------------------------
>>>>>
>>>>