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

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

Return-Path: <robert@raszuk.net>
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 61FBFC14F6A8 for <spring@ietfa.amsl.com>; Thu, 4 Apr 2024 12:12:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.095
X-Spam-Level:
X-Spam-Status: No, score=-2.095 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_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 (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 Y00zyDajpQmz for <spring@ietfa.amsl.com>; Thu, 4 Apr 2024 12:12:21 -0700 (PDT)
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com [IPv6:2a00:1450:4864:20::52a]) (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 B8DA5C14F6AA for <spring@ietf.org>; Thu, 4 Apr 2024 12:12:16 -0700 (PDT)
Received: by mail-ed1-x52a.google.com with SMTP id 4fb4d7f45d1cf-56b0af675deso1570638a12.1 for <spring@ietf.org>; Thu, 04 Apr 2024 12:12:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raszuk.net; s=google; t=1712257935; x=1712862735; 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=x2CWUgDvATyz0qI9ENRBGDmKuRSVemoCaeEIxyQ2Krc=; b=MeQhLL8Qmn+J7NhVsZaueb1a1XqGZq1NxSBdu3tkmQ+W1jhL7ELVeDPxOa9eSiiTDy 80Wh5AmC8G8snEn0kDlR0OzUOtugum3drBzpsCNQBx0EII3aBkfH2V73QH1seDSWsLQh WwRqzhUlWniOv/+dlBdVGQyIkVFSMQuy3yJ0wYdhCAWKledrctZjg2eR7u7dq36lMEDo 1XeVVatwzYsIRy3lI+hyKTqDLG+sttJ6M/3Q8/2nDShIeX872et5OA8giFpx0oN1qLka m2N0YIzVkCtGs8VZkWNVIj6cS1+3GoJ4j9ymiT3yPypU6CkC2Kg9v9QfP8Q6bfeRghWx g7DA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712257935; x=1712862735; 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=x2CWUgDvATyz0qI9ENRBGDmKuRSVemoCaeEIxyQ2Krc=; b=IHN1ZXIa3ngYPncNU2mMAEk49qzKMppkK9xF9AzsMAcQhJO5vfX3FrnBR/Q9oFltuM hRjxiiWkG7oCjbeJB60ud6hrKe7vQTRdkocZpofE7pfpEePYU8ARhPkXfjkNkJPNNktF tVuO5LPNwM8d/SHg1juPrhRsV8P6LERKvluSnXLJ0hjKtRAZyX26AsS59jjwG9TplgXz 377j4ftcFo7u93BZJyOzEtKaMSd+nfu03eOD+N0bNiDYt5Oq4yR0nttrs2i2rPd8KyKM JhKM8wisFaYtkvNu/qixosQ7rgEKG89hvTIsVcA2I24M5/bcFBUsMwVUcrHm7nbC0JF7 NwrQ==
X-Forwarded-Encrypted: i=1; AJvYcCU/SIOBPJ5wQnY3Pkr29GTMQZTRAmLg+Le9IMEddTROEKDgFAh1nD935W9i1qn/aqbTl+f7h0gum2G+ZNIm0Q0=
X-Gm-Message-State: AOJu0Yzpq9cIfb8VDiOx7EHL2NxaJoB8dh74oYMhkPlmwPmJz2329vA1 15a0xJgzHkHa/q+QbxGrETgB7ldYOwtuZ4gZL7K3gI/0/cDv/SQHTgTi7vLJ7mmmJtkjDgQJiXb EzgwI/LTiB6+EnF3JEj9A2IQi9jddPxu6DA1GtQ==
X-Google-Smtp-Source: AGHT+IGWOKjnZxQVtSUtcxyZESHsIgEawBPROVn3STrWgoinvpmUAkwWiQU+SCNCU3xd9r6GeRRoINF5GJEAzpcV4X8=
X-Received: by 2002:a50:d490:0:b0:566:d333:45e8 with SMTP id s16-20020a50d490000000b00566d33345e8mr460321edi.20.1712257934868; Thu, 04 Apr 2024 12:12:14 -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>
In-Reply-To: <CALx6S37HV3yQSfnYyQnw=A=_Mtnm4H53pSCWxpDvT7zHLx_HPg@mail.gmail.com>
From: Robert Raszuk <robert@raszuk.net>
Date: Thu, 04 Apr 2024 21:12:04 +0200
Message-ID: <CAOj+MMEhxS8FswKvH62u6W6p6xgx9G0X_kyx8UROc6woQ4wzmw@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="000000000000f8df8606154a1d8f"
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/ZrgIJeeG1xkzBSaHc6HCKqNBOSQ>
Subject: Re: [spring] [IPv6] Subject: Mandating SRH when using C-SIDs (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: Thu, 04 Apr 2024 19:12:25 -0000

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.

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
>>> --------------------------------------------------------------------
>>>
>>