Fan,

Zzh> RFC 8986 does specify additional flavors of End and End.X function
with USP, PSP and USD behaviors which are modifications to base End and
End.X function; exactly what we are proposing here – enhancing Replication
Segment to add (FI,SN) when required.

Fan>> can you explain more? I don’t see correlation between flavors and
adding (FI,SN).

Fan>> after seeing all these “if, then” shown above, I even feel more
strongly to support separating two segments. J In RFC8986, there is no
single Endpoint behavior having such “if, then” structure to specify
different functions.



RP> What Jeffrey means is RFC 8986 already has a precedent of defining
functionality, End and End.X, with slight modifications to basic behavior –
these are the PSP, USP and USD variants. An implementation that supports
these flavors has to have “if-then-else” logic to deal with active SIDs for
End and End.X segments with different flavors.

RP> We are proposing the same approach here; modify base Replication
segment behavior to add (FI,SN) if required. Also note that the definition
of Replication segment already has “if-then-else” built in to deal with
decapsulation on a Leaf node, or replication to downstream nodes, or to do
both on a Bud node.


-Rishabh


On Thu, Apr 8, 2021 at 6:25 AM Yangfan (IP Standard) <
shirley.yang...@huawei.com> wrote:

> Hi Jeffrey,
>
> Apology for being so late to reply. Please see inline starts with Fan>>.
>
>
>
> Cheers,
>
> Fan
>
>
>
> *发件人:* spring [mailto:spring-boun...@ietf.org] *代表 *Jeffrey (Zhaohui)
> Zhang
> *发送时间:* 2021年3月30日 5:06
> *收件人:* Yangfan (IP Standard) <shirley.yang...@huawei.com>; Gengxuesong
> (Geng Xuesong) <gengxues...@huawei.com>; 'Rishabh Parekh (riparekh)' <
> ripar...@cisco.com>; 'Arvind Venkateswaran (arvvenka)' <arvve...@cisco.com>;
> spring@ietf.org
> *主题:* Re: [spring] Comments on draft-geng-spring-sr-redundancy-protection
>
>
>
> Hi Fan,
>
>
>
> Please see zzh> below.
>
>
>
> *From:* Yangfan (IP Standard) <shirley.yang...@huawei.com>
> *Sent:* Friday, March 26, 2021 11:58 PM
> *To:* Jeffrey (Zhaohui) Zhang <zzhang=40juniper....@dmarc.ietf.org>;
> Gengxuesong (Geng Xuesong) <gengxues...@huawei.com>; spring@ietf.org;
> Rishabh Parekh (riparekh) <ripar...@cisco.com>; Arvind Venkateswaran
> (arvvenka) <arvve...@cisco.com>
> *Subject:* 答复: Comments on draft-geng-spring-sr-redundancy-protection
>
>
>
> Hi Jeffrey,
>
>
>
> Thank you for the comments, please see the reply inline starts with [FY#].
>
>
>
> Cheers,
>
> Fan
>
>
>
>
>
> -----邮件原件-----
> 发件人: spring [mailto:spring-boun...@ietf.org <spring-boun...@ietf.org>] 代表
> Jeffrey (Zhaohui) Zhang
> 发送时间: 2021年3月26日 3:19
> 收件人: Gengxuesong (Geng Xuesong) <gengxues...@huawei.com>; spring@ietf.org;
> Rishabh Parekh (riparekh) <ripar...@cisco.com>; Arvind Venkateswaran
> (arvvenka) <arvve...@cisco.com>
> 主题: [spring] Comments on draft-geng-spring-sr-redundancy-protection
>
>
>
> Hi Xuesong, Mach, Fan,
>
>
>
> Some comments/questions on the proposal.
>
>
>
> 1. We don't need an additional "redundancy segment" for the replication
> semantics. Existing "replication segment"
> (draft-ietf-spring-sr-replication-segment) can be used as is, especially
> for the scenario where the original header already carries (FI, SN)
> information.
>
> ------[FY1]: three considerations here:
>
> a). For the scenario you mentioned, that is correct, redundancy segment
> and replication segment share a common behavior of "packet duplication".
> The significant difference between two segments is the behavior of adding
> FI and SN. Unfortunately, there is no application in SRv6 required to carry
> (FI,SN) information in IPv6 header, which results in a more common scenario
> is where the original packet doesn't carry (FI, SN). So the current design
> of redundancy segment is based on this scenario.
>
>
>
> Zzh> Since the presentation talked about scenario where the (FI, SN)
> information is already carried, it is fair to discuss that in my initial
> comments; I understand that you want to focus on the other scenario, and
> that’s fine – see later comments below.
>
>
>
> Fan>> I read the draft of replication segment, and have two questions if
> replication segment is used in redundancy protection.
>
> 1) I believe merging node should be as the downstream node, since the
> nodes in precedence of merging node should not be redundancy protection
> aware. In this case, there will be at least two identical downstream nodes.
> In replication segment, there is no definition of such a situation.
>
> 2) The draft states replication SID MUST only appear as the ultimate SID
> in a SID list. What if the merging node is not the last node of the SRv6
> E2E path?
>
>
>
> b). Even though IPv6 flow label could be encapsulated in header, it is
> used for ECMP or fragmentation, redundancy protection cannot simply reuse
> it since flow ID allocation has dependency on the merging node capability.
>
>
>
> Zzh> IPv6 flow label is irrelevant here – it’s not discussed in either
> your draft/presentation or in my comments – so we can ignore this.
>
> Fan>> I mentioned IPv6 flow label coz we had this discussion in DetNet WG.
> I agree we can come back to this thread when it is needed.
>
>
> https://mailarchive.ietf.org/arch/browse/detnet/?q=flow%20identification%20in%20ipv6
>
>
>
> c). In protocol design, it is important to maximally reuse the existing
> implementation. However, instantiation of a segment is a different story.
> In RFC8986, there are 14 End behaviors and 4 headend behaviors defined. We
> understand the principle here is to keep the semantics of a segment and
> further functions definition neat to make the segment routing forwarding
> clear and efficient. To enhance the replication segment to support
> redundancy segment seems quite an opposite methodology.
>
>
>
> Zzh> RFC 8986 does specify additional flavors of End and End.X function
> with USP, PSP and USD behaviors which are modifications to base End and
> End.X function; exactly what we are proposing here – enhancing Replication
> Segment to add (FI,SN) when required.
>
> Fan>> can you explain more? I don’t see correlation between flavors and
> adding (FI,SN).
>
>
>
> 2. Even for the scenario where the (FI, SN) information needs to be added
> by the redundancy node, the existing "replication segment" can be enhanced
> to add the (FI, SN) information.
>
> -----[FY2]: Replication segment provides P2MP replication with target of
> supporting multicast service, and redundancy segment aims to provide
> redundant flow protection to URLLC services. Adding (FI, SN) doesn’t
> bring value to multicast services, and having the stitching capability of
> replication on redundancy node seems a waste and unpractical to URLLC
> service. Twisting them together in one segment results in a complicated
> function, where maybe only one type of service is required on the node.
>
>
>
> Zzh> Adding (FI, SN) information is only to replication segments that are
> used for replication for unicast redundancy purpose. It does not mean all
> replication segments will be added with (FI, SN) semantics.
>
>
>
> Fan>> How would you write the Boolean switch to differentiate the purpose
> of multicast replication and redundancy protection in one segment? And
> currently we don’t exclude the redundancy protection for multicast traffic.
>
>
>
> Zzh> I don’t follow your argument about “seems a waste and unpractical to
> URLLC service”.
>
>
>
> Zzh> I don’t follow your argument about “Twisting them together in one
> segment results in a complicated function where maybe only one type of
> service is required on the node” either. If you only need regular multicast
> service, the replication segment does not need the semantics to add (FI,
> SN) information. If you need redundancy protection then the replication
> segment does have the semantics to add (FI, SN) information). If you need
> both, then some will have that semantics and some will not; and if you have
> a scenario where you don’t need to add (FI, SN) information for redundancy
> protection then the existing replication segment w/o the additional
> semantics to add (FI, SN) information can be used for both. All can be
> achieved with a simple Boolean switch added to the replication segment.
>
> Fan>> after seeing all these “if, then” shown above, I even feel more
> strongly to support separating two segments. J In RFC8986, there is no
> single Endpoint behavior having such “if, then” structure to specify
> different functions.
>
>
>
> Zzh> Note that Replication Segment is not tied to multicast either (the
> draft only mentioned multicast once as one use case):
>
>
>
>    We define a new type of segment for Segment Routing [RFC8402 
> <https://tools.ietf.org/html/rfc8402>], called
>
>    Replication segment, which allows a node (henceforth called as
>
>    Replication Node) to replicate packets to a set of other nodes
>
>    (called Downstream Nodes) in a Segment Routing Domain. Replication
>
>    segments provide building blocks for Point-to-Multipoint Service
>
>    delivery …
>
>
>
> Zzh> It is about replicating packets to a set of other nodes – quite
> applicable here as a building block.
>
> Fan>> I do think replication segment has a very elegant design, however
> identical downstream nodes, design of P2MP SR policy (indirectly involves
> Tree-ID) may seem burden too much on redundancy segment. But it is still
> very welcome to have further discussion on replication segment and
> redundancy segment.
>
>
>
> 3. I wonder why (FI, SN) information is added as a TLV in the SRH. Would
> it be better to use DOH?
>
> -----[FY3]: If the (FI,SN) is encapsulated in type of TLV, both SRH and
> DOH are feasible. Actually (FI,SN) information is only meaningful to
> merging node, putting them in the arg part of replication segment doesn't
> help.
>
>
>
> Zzh> While I do think it is better to put the actual (FI, SN) information
> in the DOH, I did not talk about adding (FI, SN) information to the arg
> part of an SRv6 SID. I was saying that the argument of an SRv6 replication
> SID can serve as that Boolean switch to indicate if (FI, SN) information
> needs to be added.
>
> Fan>> so far, this approach works for me.
>
>
>
> For #1, and #2, reusing/enhancing existing replication segment has the
> following benefits:
>
>
>
> a. Reduce protocol/implementation work
>
> b. Reduce the amount of state in the network (the same P2MP tunnel can be
> used for both multicast traffic and unicast redundancy)
>
>
>
> b) can be achieved even with #2 (redundancy node needs to add (FI, SN)
> information): for SRv6, the semantics of adding (FI, SN) can be indicated
> by the arg part of the replication SID and for SR-MPLS it can be indicated
> by an additional label in front of the replication sid label. If using an
> addition label is a concern, then indeed a single label can be used to
> indicate both "add FI/SN information" and "replicate", but still the
> replication semantics can still be set up using the replication segment
> infrastructure.
>
>
>
> For SR-MPLS, where would you put the (FI, SN) information? Seems that GDFH
> (draft-zzhang-intarea-generic-delivery-functions) is a good option and that
> can be used for SRv6 as well (anything in DOH that is actually independent
> of IP could be extracted out to GDFH).
>
> -----[FY4]: For SR-MPLS, currently the authors plan to keep consistent
> with specification in RFC8964. The original intention of this draft is to
> provide a PREOF solution in SR data plane to DetNet. What's why the draft
> is discussed first in DetNet then comes to SPRING. And FYI, DetNet MPLS
> data plane uses a separate service label (S-Label) and PW MPLS Control Word
> [RFC4385] to carry FI and SN.
>
>
>
> Zzh> I forgot that DETnet mpls data plane already reuses PW CW for SN
> information. That’s fine and no need to introduce GDFH for MPLS.
>
> Zzh> Thanks.
>
> Fan>> thanks for bring up this topic to a deeper discussion. Redundancy
> protection should be taken into consideration for both SP and vendor if
> URLLC services should be guaranteed.
>
>
>
> Zzh> Jeffrey
>
>
>
> Thanks.
>
>
>
> Jeffrey
>
>
>
> Juniper Business Use Only
>
> _______________________________________________
>
> spring mailing list
>
> spring@ietf.org
>
> https://www.ietf.org/mailman/listinfo/spring
> <https://urldefense.com/v3/__https:/www.ietf.org/mailman/listinfo/spring__;!!NEt6yMaO-gk!Rk0PGf0pg0nFb0yo3yrw4HCuRzBBn_xDVWjwUQ9HKkn1db_vI48SfuShKITTo6uG$>
>
>
>
> Juniper Business Use Only
> _______________________________________________
> 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

Reply via email to