Re: [spring] WG Adoption Call - draft-cheng-rtgwg-srv6-multihome-egress-protection (02/09/24 - 02/24/24)

Huzhibo <huzhibo@huawei.com> Mon, 04 March 2024 11:46 UTC

Return-Path: <huzhibo@huawei.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 EEFC8C1516E0; Mon, 4 Mar 2024 03:46:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.961
X-Spam-Level:
X-Spam-Status: No, score=-2.961 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, NORMAL_HTTP_TO_IP=0.001, NUMERIC_HTTP_ADDR=1.242, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
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 dRnDetxjJ1pY; Mon, 4 Mar 2024 03:46:33 -0800 (PST)
Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 96A4BC15106F; Mon, 4 Mar 2024 03:46:32 -0800 (PST)
Received: from mail.maildlp.com (unknown [172.18.186.216]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4TpGyg2r87z67FbS; Mon, 4 Mar 2024 19:42:35 +0800 (CST)
Received: from lhrpeml500003.china.huawei.com (unknown [7.191.162.67]) by mail.maildlp.com (Postfix) with ESMTPS id 48F681400C9; Mon, 4 Mar 2024 19:46:29 +0800 (CST)
Received: from canpemm500009.china.huawei.com (7.192.105.203) by lhrpeml500003.china.huawei.com (7.191.162.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Mon, 4 Mar 2024 11:46:28 +0000
Received: from canpemm500009.china.huawei.com (7.192.105.203) by canpemm500009.china.huawei.com (7.192.105.203) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Mon, 4 Mar 2024 19:46:26 +0800
Received: from canpemm500009.china.huawei.com ([7.192.105.203]) by canpemm500009.china.huawei.com ([7.192.105.203]) with mapi id 15.01.2507.035; Mon, 4 Mar 2024 19:46:26 +0800
From: Huzhibo <huzhibo@huawei.com>
To: Alvaro Retana <aretana.ietf@gmail.com>, Yingzhen Qu <yingzhen.ietf@gmail.com>, "spring-chairs@ietf.org" <spring-chairs@ietf.org>, Ketan Talaulikar <ketant.ietf@gmail.com>
CC: RTGWG <rtgwg@ietf.org>, rtgwg-chairs <rtgwg-chairs@ietf.org>, draft-cheng-rtgwg-srv6-multihome-egress-protection <draft-cheng-rtgwg-srv6-multihome-egress-protection@ietf.org>, "spring@ietf.org" <spring@ietf.org>
Thread-Topic: WG Adoption Call - draft-cheng-rtgwg-srv6-multihome-egress-protection (02/09/24 - 02/24/24)
Thread-Index: AQHaakWn9iIRR33IFUWO15RlDZLTd7EncoQQ
Date: Mon, 04 Mar 2024 11:46:26 +0000
Message-ID: <06e93149163e4e5fb749fe549b25db27@huawei.com>
References: <CABY-gOMQ=LaECWJsJHsdKX7i+BUsiX=LF5b5ZPMVp=3qQjZ8Mg@mail.gmail.com> <CAH6gdPyuWV=xvDerDCtXnD1T5CGymsm+b1i-idRGEs1w9aui=A@mail.gmail.com> <CABY-gOPDLs6j+YPSYhbwnvvkfTi1VyPN8Vr6XWs9oy28cxr6Mw@mail.gmail.com> <CAMMESswGR=7Lm_3tGOtVfb2YBvihAGARSwthRe6CP2=8Y3BEhQ@mail.gmail.com>
In-Reply-To: <CAMMESswGR=7Lm_3tGOtVfb2YBvihAGARSwthRe6CP2=8Y3BEhQ@mail.gmail.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.108.202.45]
Content-Type: multipart/alternative; boundary="_000_06e93149163e4e5fb749fe549b25db27huaweicom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/MccZ7qudz1k55uwSXL1Xb93wXas>
Subject: Re: [spring] WG Adoption Call - draft-cheng-rtgwg-srv6-multihome-egress-protection (02/09/24 - 02/24/24)
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, 04 Mar 2024 11:46:39 -0000

Hi Alvro:
Please see inline.

Thanks

Zhibo
From: rtgwg [mailto:rtgwg-bounces@ietf.org] On Behalf Of Alvaro Retana
Sent: Wednesday, February 28, 2024 8:55 PM
To: Yingzhen Qu <yingzhen.ietf@gmail.com>; spring-chairs@ietf.org; Ketan Talaulikar <ketant.ietf@gmail.com>
Cc: RTGWG <rtgwg@ietf.org>; rtgwg-chairs <rtgwg-chairs@ietf.org>; draft-cheng-rtgwg-srv6-multihome-egress-protection <draft-cheng-rtgwg-srv6-multihome-egress-protection@ietf.org>; spring@ietf.org
Subject: Re: WG Adoption Call - draft-cheng-rtgwg-srv6-multihome-egress-protection (02/09/24 - 02/24/24)


Hi!

Now that the terminology is a little more precise, I also looked at the document and found a couple of cases where SIDs are skipped by SRv6 segment endpoints, which is what Ketan is really concerned about (?).

These cases (see below) do not align with rfc8754 or rfc8986.  IMO, any proposed deviation from the existing specifications should be discussed in spring (for rfc8986) or 6man (for rfc8754), and formal Updates to those RFCs may be needed.

Thanks!

Alvaro.


(1) From §3.3 (Procedure on the Penultimate Endpoint):

   IF the primary outbound interface used to forward the packet failed
   or there is no FIB entry for forwarding the packet, the detailed
   processing to be performed by the penultimate node is as follows:

         IF SL = 1 THEN
            SL decreases by 1 and becomes 0;
            Update the IPv6 DA with Segment List[0];
            FIB lookup on the updated DA;
            Forward the packet according to the matched entry;


There seem to be two cases here: "the primary outbound interface used to forward the packet failed" and "there is no FIB entry for forwarding the packet".  I assume (?) they are grouped because the result is that there is no FIB entry for the destination -- IOW, the link going down results in no alternate path available.

rfc8754 covers this case:

   4.3.4. FIB Entry Is a No Match

      Processing is not changed by this document.


The result of a non-existent FIB entry is to drop the packet, not to forward it, as mentioned above.  Changing that action requires an Update to rfc8754 (and others).

As Bruno pointed out, questions related to "how does the node know" come up.

----->HZB: rfc8754 or rfc8986 only defines that Processing is not changed by this document. This is only a general description of the standard SRv6, not a mandatory specification. Of course, as you said, the new endpoint behavior defined in this document has been posted to the Spring group discussion.

(2) The operation described in this draft depends on P2 (Figure 3) taking on the role of the "Penultimate Endpoint".  But the SRH used to illustrate is "< A1:1::1, A2:1::A100, A3:1::B100, A4:1::B100>", which results in P2 being in the Segment List[2] position.

Also, PE3 also has penultimate endpoint functions in the draft.

rfc8754 and rfc8986 have explicit definitions of what the penultimate segment endpoint is, and the use of P2 doesn't match any of them:

rfc8754:

   Segment List[0..n]: 128-bit IPv6 addresses representing the nth
      segment in the Segment List. The Segment List is encoded starting
      from the last segment of the SR Policy. That is, the first element
      of the Segment List (Segment List[0]) contains the last segment of
      the SR Policy, the second element contains the penultimate segment
      of the SR Policy, and so on.


rfc8986:

   A PSP-flavored SID is used by the SR source node when it needs to
   instruct the penultimate SR Segment Endpoint Node listed in the SRH
   to remove the SRH from the IPv6 header.
   ...
   A penultimate SR Segment Endpoint Node is one that, as part of the
   SID processing, copies the last SID from the SRH into the IPv6
   Destination Address and decrements the Segments Left value from one
   to zero.

   The PSP operation only takes place at a penultimate SR Segment
   Endpoint Node and does not happen at any transit node. When a SID of
   PSP flavor is processed at a non-penultimate SR Segment Endpoint
   Node, the PSP behavior is not performed as described in the
   pseudocode below since Segments Left would not be zero.


There are both terminology (using "penultimate" to describe any node other than the one at Segment List[1]) and operation changes that would be required in rfc8754 and rfc8986.

-----> HZB : This document does not modify the penultimate endpoint behavior. The P2 node described in this document is not the penultimate endpoint. We will modify it in the next version.
(3) From §4:

   In normal operations...The specific operations of PE3 are as follows:

   1) Remove the outer packet header and all its extension headers.

   2) Look up the FIB table according to the destination address of the
      original packet.

   3) Send the packet to CE2 according to the FIB entry.


First, much more is needed to explain the operation (codifying with pseudocode as all the other SRH-related operations).  The PSP flavor is specified in §4.16.1.2/rfc8986<http://4.16.1.2/rfc8986>; it includes "S14. Update IPv6 DA with Segment List[Segments Left]" (not the "destination address of the original packet", as indicated above).

Changing how the PSP flavor works in "normal operations" would require an Update of rfc8986.  Note that this draft doesn't indicate how P2 would know the proposed process would have to be used (vs existing cases).

-----> HZB : In normal operations...The specific operations of PE3 are as follows, This section does not describe the PSP endpoint behavior, but the VPN SID endpoint  behavior. We will clarify in the next version.
                      This document defines the PSD Flavor, which is an extension of the original Endpoint behavior and does not conflict with the original Endpoint behavior.



On February 25, 2024 at 12:44:18 AM, Yingzhen Qu (yingzhen.ietf@gmail.com<mailto:yingzhen.ietf@gmail.com>) wrote:
Dear SPRING WG and chairs,

I'd like to bring your attention to this adoption call happening in the
RTGWG WG.

The draft describes a SRv6 egress node protection mechanism in multi-home
scenarios. As Ketan has commented in his email below the proposal requires
a P router to process SRH with new endpoint behavior.

We'd like to get your comments about the proposed extensions. Please send
your reply to both the SPRING and RTGWG mailing lists.

Thanks,
Yingzhen

On Wed, Feb 21, 2024 at 8:06 AM Ketan Talaulikar <ketant.ietf@gmail.com<mailto:ketant.ietf@gmail.com>>
wrote:

> Hi Yingzhen/All,
>
> I have some concerns regarding the adoption of this document.
>
>
> - Do we need these different solutions?
>
> KT> No. There is one common author for both these drafts who is also from
> a vendor. I hope that person is also able to evaluate implementation
> aspects and pick one solution.
> KT> Does the adoption of this solution make the other draft "dead"?
>
> - Technical merits and drawbacks of each solution
>
> KT> The existing WG draft needs IGP protocol extensions and its
> implementation is very complex (as stated in the document under adoption)=