[spring] 答复: 答复: Comments on draft-geng-spring-sr-redundancy-protection

"Yangfan (IP Standard)" <shirley.yangfan@huawei.com> Thu, 10 June 2021 12:20 UTC

Return-Path: <shirley.yangfan@huawei.com>
X-Original-To: spring@ietfa.amsl.com
Delivered-To: spring@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id B72C03A4066 for <spring@ietfa.amsl.com>; Thu, 10 Jun 2021 05:20:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id VYmAm-4Ro6WK for <spring@ietfa.amsl.com>; Thu, 10 Jun 2021 05:20:33 -0700 (PDT)
Received: from frasgout.his.huawei.com (frasgout.his.huawei.com []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2C22E3A4063 for <spring@ietf.org>; Thu, 10 Jun 2021 05:20:33 -0700 (PDT)
Received: from fraeml712-chm.china.huawei.com (unknown []) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4G12rB5qCyz6N3vY; Thu, 10 Jun 2021 20:11:06 +0800 (CST)
Received: from dggeme754-chm.china.huawei.com ( by fraeml712-chm.china.huawei.com ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2176.2; Thu, 10 Jun 2021 14:20:28 +0200
Received: from nkgeml701-chm.china.huawei.com ( by dggeme754-chm.china.huawei.com ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2176.2; Thu, 10 Jun 2021 20:20:26 +0800
Received: from nkgeml701-chm.china.huawei.com ([]) by nkgeml701-chm.china.huawei.com ([]) with mapi id 15.01.2176.012; Thu, 10 Jun 2021 20:20:25 +0800
From: "Yangfan (IP Standard)" <shirley.yangfan@huawei.com>
To: "Jeffrey (Zhaohui) Zhang" <zzhang@juniper.net>, 'Rishabh Parekh' <rishabhp@gmail.com>
CC: "'Arvind Venkateswaran (arvvenka)'" <arvvenka@cisco.com>, "Gengxuesong (Geng Xuesong)" <gengxuesong@huawei.com>, "'spring@ietf.org'" <spring@ietf.org>, "'Rishabh Parekh (riparekh)'" <riparekh@cisco.com>
Thread-Topic: [spring] 答复: Comments on draft-geng-spring-sr-redundancy-protection
Date: Thu, 10 Jun 2021 12:20:25 +0000
Message-ID: <70fea22d6ccf435d8d6ecb775e7461d4@huawei.com>
References: <MN2PR05MB59812099F115C3FF43CA9077D4629@MN2PR05MB5981.namprd05.prod.outlook.com> <59384be985ae4d3bb9563bed2642bff1@huawei.com> <BYAPR11MB300030B313D45266695FA702DE7E9@BYAPR11MB3000.namprd11.prod.outlook.com> <MN2PR05MB5981AA3B0A5E0D6DDB60F46FD47E9@MN2PR05MB5981.namprd05.prod.outlook.com> <1e2ad2d64da24714bc50f64b3d39361f@huawei.com> <CABjMoXbTqmqPg6n7No1u7g3KZPFDDb8RX6CQgxZc1oWQnykTng@mail.gmail.com> <MN2PR05MB598197148CCF3C8F3C679836D44E9@MN2PR05MB5981.namprd05.prod.outlook.com> <d135ba6e0fbd452391922a0f26db00b7@huawei.com> <MN2PR05MB598195F475E282394FCE2E6FD4409@MN2PR05MB5981.namprd05.prod.outlook.com> <1940cc0fea6647bdb3bf6743e1edc4f6@huawei.com> <MN2PR05MB598120A50B2AF4E0FE75A38DD45F9@MN2PR05MB5981.namprd05.prod.outlook.com> <45e6f85736f145d08c430df0e3d6cb28@huawei.com> <MN2PR05MB5981071A7142D1260AC75FB5D4539@MN2PR05MB5981.namprd05.prod.outlook.com> <f2e1983d56614907ba3d934ad1c073bd@huawei.com> <MN2PR05MB5981C130C3B3D31227A3D857D42B9@MN2PR05MB5981.namprd05.prod.outlook.com> <BL0PR05MB56527DEC3D8B432058DC4D9CD4249@BL0PR05MB5652.namprd05.prod.outlook.com> <ca9ac76001484219bbe4fbe541beae1b@huawei.com> <BL0PR05MB5652D4FE16785E6D3305C83BD4389@BL0PR05MB5652.namprd05.prod.outlook.com>
In-Reply-To: <BL0PR05MB5652D4FE16785E6D3305C83BD4389@BL0PR05MB5652.namprd05.prod.outlook.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_70fea22d6ccf435d8d6ecb775e7461d4huaweicom_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/zhFgoDQKpVq5kFScntgCwWedb8A>
Subject: [spring] 答复: 答复: Comments on draft-geng-spring-sr-redundancy-protection
X-BeenThere: spring@ietf.org
X-Mailman-Version: 2.1.29
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, 10 Jun 2021 12:20:39 -0000

Hi Jeff,
Please see the inline comments below starts with Fan2>>.

发件人: Jeffrey (Zhaohui) Zhang [mailto:zzhang@juniper.net]
发送时间: 2021年6月7日 22:47
收件人: Yangfan (IP Standard) <shirley.yangfan@huawei.com>; 'Rishabh Parekh' <rishabhp@gmail.com>
抄送: 'Arvind Venkateswaran (arvvenka)' <arvvenka@cisco.com>; Gengxuesong (Geng Xuesong) <gengxuesong@huawei.com>; 'spring@ietf.org' <spring@ietf.org>; 'Rishabh Parekh (riparekh)' <riparekh@cisco.com>
主题: RE: [spring] 答复: Comments on draft-geng-spring-sr-redundancy-protection

Hi Fan,

Please see zzh1> below.

From: Yangfan (IP Standard) <shirley.yangfan@huawei.com<mailto:shirley.yangfan@huawei.com>>
Sent: Friday, June 4, 2021 12:11 PM
To: Jeffrey (Zhaohui) Zhang <zzhang@juniper.net<mailto:zzhang@juniper.net>>; 'Rishabh Parekh' <rishabhp@gmail.com<mailto:rishabhp@gmail.com>>
Cc: 'Arvind Venkateswaran (arvvenka)' <arvvenka@cisco.com<mailto:arvvenka@cisco.com>>; Gengxuesong (Geng Xuesong) <gengxuesong@huawei.com<mailto:gengxuesong@huawei.com>>; 'spring@ietf.org' <spring@ietf.org<mailto:spring@ietf.org>>; 'Rishabh Parekh (riparekh)' <riparekh@cisco.com<mailto:riparekh@cisco.com>>
Subject: 答复: [spring] 答复: Comments on draft-geng-spring-sr-redundancy-protection

[External Email. Be cautious of content]

Hi Jeff,
I am coming back. Please see inline comments starts with Fan1>>.

发件人: Jeffrey (Zhaohui) Zhang [mailto:zzhang@juniper.net]
发送时间: 2021年5月27日 4:26
收件人: Yangfan (IP Standard) <shirley.yangfan@huawei.com<mailto:shirley.yangfan@huawei.com>>; 'Rishabh Parekh' <rishabhp@gmail.com<mailto:rishabhp@gmail.com>>
抄送: 'Arvind Venkateswaran (arvvenka)' <arvvenka@cisco.com<mailto:arvvenka@cisco.com>>; Gengxuesong (Geng Xuesong) <gengxuesong@huawei.com<mailto:gengxuesong@huawei.com>>; 'spring@ietf.org' <spring@ietf.org<mailto:spring@ietf.org>>; 'Rishabh Parekh (riparekh)' <riparekh@cisco.com<mailto:riparekh@cisco.com>>
主题: RE: [spring] 答复: Comments on draft-geng-spring-sr-redundancy-protection

Hi Fan,

In this thread I’ll address another point that I deferred. I snipped unrelated text.

Zzh6> It’s important to distinguish between control plane and data plane. In data plane it is always a simple SID (replication or redundancy). In control plane (that sets up the replication/redundancy state on relevant nodes), it could be whatever.

Fan> I try to compare the two solutions redundancy protection and P2MP replication as follows, hope it can help the understandings.

Format: <solution> ,  <identifier of service> ,  <how it works>
<redundancy protection> , <Redundancy SID> ,  <service is identified by Red-SID, Red-SID triggers redundancy policy to assign candidate paths between redundancy node and merging node>
<P2MP replication> ,  <P2MP policy identifier (root-id, tree-id)> ,  <P2MP policy gives the tree structure of the P2MP service, replication segment is an atomic building block for packet replication and stays in root, bud and leaf>

Although each solution includes a SID and a SR-Policy, there are totally different mechanisms. I don’t think it is just a representation difference.

In your representation for Redundancy solution, you mentioned “candidate paths”. I would change it to “replication branches”, because “candidate paths” in SR policies have a different meaning.
Fan1>> Firstly, I don’t see much difference of candidate path either in SR policy or in Redundancy policy.

Basically, the redundancy policy would replicate incoming traffic and send them down to different paths.
Fan1>> Secondly, redundancy policy doesn’t specify the replication instruction, which is indicated by redundancy segment. Redundancy policy just extends SR policy to support more than one usable candidate path. Though it is not detailed explained in the draft, you can simply regard redundancy policy as an SR policy including two candidate paths with same preferences.

Zzh1> What does your “candidate path” mean exactly? Why do they have the same preference? With the CP concept in SR policies, only one of the CPs will be chosen and only one copy of the traffic will be sent out.
Fan2>> Yes, the above is correct according to current specification of SR policy. The target of redundancy policy is to give more than one paths to redundancy node to be encapsulated on the replicas. It can be indicated by different candidate paths, or even different segment lists in one candidate path. We can work on the details until the discussion of redundancy segment becomes clear.

No additional replication is done downstream and this corresponds to the “Ingress Replication” concept in multicast/p2mp.
Fan1>> in our design, the headend and endpoint of redundancy protection would be the redundancy node and merging node. In terms of your solution, downstream node would be the merging node. Of course you can put elimination behavior in the other nodes behind the node at which the packets from different path actually flow to and get together, but this is how you put the redundancy protection mechanism in your solution.
Zzh1> With the replication segment method, the elimination behavior does *not* have to another node behind the node where replicated packets will get together.

-----snip it from email in May 20--------
Zzh> The ingress will send packets with SL <A, R, M>. SID A gets the packet to A, who sees R and do the replication (R is not popped by A). D sees R in the SL and pops R (this is the replication segment behavior on a leaf). It then sees M and do the merging. Alternatively, A could pop R so D will see M directly and do the merging.
Fan2>> popping  R to process M may work in SR-MPLS, not SRv6.
if the merging node is the downstream node, section 2.2 SRv6 data plane of draft-~-replication-segment says,
“For a leaf node, the packet is decapsulated and the inner packet is forwarded as per local configuration. ”
It’s saying IPv6 +SRH header is removed when R SID is processed on downstream node (equals to merging node). Even though M SID is encapsulated in SID list, there is no opportunity to process it. Do I understand it correctly?

For <identifier of service>, you used “redundancy SID” and “P2MP policy identifier” respectively. As I mentioned before, in the data plane both just use a SID. In the control plane (i.e., how the replication/redundancy segment is installed), the identifier could be anything for both solutions, including a SID.

For replication segment based solution, unless the replication is to more than two copies and done by a multi-level tree (node 1 replicating to node 2 and 3, and then node 2 replicating to node 4 and 5), then it is “Ingress Replication” and no different from the redundancy segment solution.

BTW, P2MP policy (with tree identification, candidate paths, set of leaves, etc.) are really just control plane information on the root. It does not give the tree structure either. Instead, the entire replication tree are just concatenated replication segments on root, leaves and intermediate replication nodes. The intermediate replication nodes are optional (i.e., Ingress Replication), and in that case there is no difference from the redundancy segment.

Fan1>> From data plane perspective, replication segment and redundancy segment share the replication instruction, differ from whether to encap FI and SN at the same time. I will leave this FI,SN adding discussion to another email thread.
Zzh1> whether to add FI/SN is just an additional item that can be added to the replication segment (when it is used for redundancy purpose).
However, from control plane perspective, two solutions are quite different on how redundancy protection service is provided. Since redundancy protection is more likely used in unicast scenario, (it can be used for multicast, but let’s leave it to a separate thread), it doesn’t make sense to extend BGP MVPN attribute for a unicast redundancy protection service.
Zzh1> There are two aspects when it comes to control plane.
Zzh1> a) setup of the redundancy/replication segment on the redundancy node. To me this is the same for both (the replication segment setup can be augmented with an “add FI/SN” semantics if necessary).
Zzh1> b) signal to the ingress node of the binding SID for redundancy purpose. To me this is also the same for both.
Again, I don’t argue the possibility of using replication segment and P2MP policy as one solution to provide redundancy protection. We provide our approach to achieve redundancy protection. Replication segment is just the second approach. But I don’t believe the saying that the approach A is the approach B. Actually, both of them can the solutions to provide redundancy protection. I even think we can collaborate on this topic. What do you think? ☺
Zzh1> I just don’t see there is a need to have a separate redundancy policy/segment because they’re almost identical - the replication policy/segment can provide what you need. This does not mean that we don’t need this draft-geng anymore. If I have convinced you, you only need to refer to the replication policy/segment drafts in draft-geng and we only need to augment the replication policy/segment with the function of adding FI/SN if we agree that is needed for some scenarios.

Fan2>> I’d like  to go deep to understand how replication segment can be used in both SR-MPLS and SRv6 data planes first. This process will also bring benefit on how to arrange the drafts finally.

Zzh1> Thanks.
Zzh1> Jeffrey



Juniper Business Use Only

Juniper Business Use Only