Hi Ketan, Pavan,

Good discussion. Just going to chip in some thoughts…

One of the elements I personally like of the SR Policy model is that many 
Candidate Paths may exist, but only one may be active and a candidate path 
contains 1 or many SID lists. It’s a simple parent/child - root/leaf tree with 
very clear rules within the SR policy context instance. From my point of view, 
what is being proposed in the -09 document still follows those rules and the 
general top-down tree behaviour. Despite the composite CP pointing to a 
different SR Policy, that SR Policy still follows all of the same rules top 
down in its own isolated context. Compare that to say, having a candidate path 
contain a child that points to other candidate paths within the same SR Policy 
context: within the same context a child is pointing to a sibling of its 
parent. The rules now have to bend slightly. As noted below, some of the rules 
around what is considered an active candidate path would need to change, since 
the constituents essentially are active (they’re installed) despite not being 
thought of as being active. Note that the proposed new text below says “The 
preference is ignored for each of the two constituent candidate paths" which is 
also a new rule, however one could perhaps work around that by just requiring 
the preference on the constituents be less preferred than any other standard or 
composite CP – but that raises its own troubles with multiple sources of 
provisioning – which leads to a rule asking to ignore the preference. In 
summary, from my p.o.v new rules in the hierarchy would need to be introduced.

Regarding steering into an SR Policy, yes, you burn colors in doing this 
(32bits...) and it would require deploying an entirely dedicated SR Policy 
construct, and run the risk of steering ‘other’ traffic into that policy. If 
this is a concern, would the composite SR Policies not be engineered in a way 
where the color block used is designed to not be used elsewhere in the network 
for other purposes? Is there not a different but kind of similar problem with 
Binding SIDs, in that they’re eligible for use by other consumers even if not 
directly intended? (although at least BSIDs are optional and not mandatory). In 
addition to the split TE cases, being able to have an SR Policy steer into 
another SR Policy might also have some value in a backup candidate scenario 
when one has multiple SR Policies with the same endpoint, but can share a 
common fallback/best effort candidate path. The entity (I'm thinking PCE) 
managing that would only need to maintain the fallback/best effort CP SID 
list(s), instead of one for each N * CPs.

Something I haven’t concluded to myself yet are questions such as:


  *   does having a candidate path steer into another SR Policy satisfy the 
ability to do various sub-path specific TE/constraint/object combinations 
sufficiently?
  *   is the model relatively straight forward to map into yang/bgp/pcep etc..?
  *   does using an additional SR Policy create too much overhead or state burn 
to configure, deploy, manage, track etc.. ?

Cheers
Andrew

From: spring <spring-boun...@ietf.org> on behalf of "Ketan Talaulikar (ketant)" 
<ketant=40cisco....@dmarc.ietf.org>
Date: Tuesday, November 10, 2020 at 10:33 PM
To: Vishnu Pavan Beeram <vishnupa...@gmail.com>
Cc: "spring@ietf.org" <spring@ietf.org>
Subject: Re: [spring] I-D Action: 
draft-ietf-spring-segment-routing-policy-09.txt

Hi Pavan,

Please check inline below.

From: Vishnu Pavan Beeram <vishnupa...@gmail.com>
Sent: 11 November 2020 00:26
To: Ketan Talaulikar (ketant) <ket...@cisco.com>
Cc: spring@ietf.org
Subject: Re: [spring] I-D Action: 
draft-ietf-spring-segment-routing-policy-09.txt

Ketan, Hi!

Please see inline for responses (prefixed VPB).

Regards,
-Pavan

On Tue, Nov 10, 2020 at 4:04 AM Ketan Talaulikar (ketant) 
<ket...@cisco.com<mailto:ket...@cisco.com>> wrote:
Hi Pavan,

Please check inline below.

From: Vishnu Pavan Beeram <vishnupa...@gmail.com<mailto:vishnupa...@gmail.com>>
Sent: 10 November 2020 00:08
To: Ketan Talaulikar (ketant) <ket...@cisco.com<mailto:ket...@cisco.com>>
Cc: spring@ietf.org<mailto:spring@ietf.org>
Subject: Re: [spring] I-D Action: 
draft-ietf-spring-segment-routing-policy-09.txt

Ketan,

Much Thanks for taking a stab at addressing the composite candidate path 
use-case! We seem to be converging.
[KT] Thanks for that feedback and confirmation that the proposal in the draft 
does address the use-case. I believe we are now discussing the mechanics of how 
this is achieved within the current SR Policy framework.

However, I don’t understand why you need to use additional SR policies (and 
unnecessarily burn additional colors) to address this.
[KT] I do not follow what you mean by “burn additional colors”. Color is just a 
32 bit number that indicates the “intent” and is not really a scarce resource. 
Assigning a color to “a composite intent” seems like a seamless way to 
integrate with existing mechanisms for Steering over SR Policies. This gives 
the flexibility for say some BGP services to be steered over the constituent 
explicit/dynamic intent while others can steer over a composite intent that 
includes those individual explicit/dynamic intents.

[VPB] The “flexibility” that you are referring to is undesirable for this 
use-case. For the traffic-split use-case, we don’t want any other services to 
be directly steered over the constituents when they are part of a composite 
candidate path.
[KT] I believe the use-case that you are referring to was for splitting some 
traffic for a service over a blue plane and the rest over a red plane. At the 
same time, there may be other services that utilize only a single plane. The 
flexibility that I was referring to was to enable/allow for either of the two 
scenarios and there may be other/more use-cases for which we need a more 
generic framework.

The current proposal in the draft would have been acceptable if the constituent 
SR Policies were uncolored – but that would violate the current rules imposed 
by the draft.


Why can’t the composite candidate path just be a grouping of explicit candidate 
paths and/or dynamic candidate paths?
[KT] This is because in the SR Policy framework, there is only a single active 
CP – it may be explicit or dynamic. Now we’ve added another Composite CP type 
to cover this specific use-case. Your proposal will result in 3 candidate paths 
being active within the same SR Policy – one each of the explicit and dynamic 
CP and then additionally the Composite CP. This breaks the existing rules for 
selection of CP based on preference and mechanisms like fallback between CPs. 
While the current proposal in the draft provides a way to address the new 
use-case with a backwards compatible extension to the SR Policy framework.

[VPB] The proposal in my previous email is backwards compatible and does not 
intend to break any existing rules for deeming a candidate path active. As per 
the rules that are outlined in Section 2.9, only the composite candidate path 
is “active” given its preference. The constituent candidate paths will never be 
active on their own. If it is necessary, we can add a statement in Section 2.9 
to explicitly state that the candidate path selection criteria does not apply 
to the constituent candidate paths.
[KT] When a CP is “active” it is actually the one that is being used for 
forwarding.

Thanks,
Ketan


Thanks,
Ketan

Consider the following changes:

** Section 2.2
OLD:

   A composite candidate path acts as a container for grouping of SR

   Policies.  The composite candidate path construct enables combination

   of SR Policies, each with explicit candidate paths and/or dynamic

   candidate paths with potentially different optimization objectives

   and constraints, for a load-balanced steering of packet flows over

   its constituent SR Policies.  The following criteria apply for

   inclusion of constituent SR Policies using a composite candidate path

   under a parent SR Policy:



   o  the endpoints of the constituent SR Policies and the parent SR

      Policy MUST be identical



   o  The colors of each of the constituent SR Policies and the parent

      SR Policy MUST be different



   o  the constituent SR Policies MUST NOT use composite candidate paths



   Each constituent SR Policy of a composite candidate path is

   associated with a weight for load-balancing purposes (refer

   Section 
2.11<https://tools.ietf.org/html/draft-ietf-spring-segment-routing-policy-09#section-2.11>
 for details).  The default weight is 1.



NEW:

   A composite candidate path acts as a container for grouping of

   explicit candidate paths and/or dynamic candidate paths with

   potentially different optimization objectives and constraints.

   The composite candidate path construct enables load-balanced

   steering of packet-flows over a set of constituent candidate

   paths. The following criteria apply for constituent candidate

   paths under a composite candidate path:



   o  the preference of the constituent candidate path MUST be

      ignored.



   o  the constituent candidate path MUST NOT be a composite candidate

      path



   Each constituent candidate path of a composite candidate path is

   associated with a weight for load-balancing purposes (refer

   Section 
2.11<https://tools.ietf.org/html/draft-ietf-spring-segment-routing-policy-09#section-2.11>
 for details).  The default weight is 1.



**



** Section 2.11



OLD:
   When a composite candidate path is active, the fraction of flows
   steered into each constituent SR Policy is equal to the relative
   weight of each constituent SR Policy.  Further load balancing of
   flows steered into a constituent SR Policy is performed based on the
   weights of the Segment-List of the active candidate path of that
   constituent SR Policy.



NEW:
   When a composite candidate path is active, the fraction of flows
   steered into each constituent candidate path is equal to the relative
   weight of each constituent candidate path.  Further load balancing of
   flows steered into a constituent candidate path is performed based on
   the weights of each associated Segment-List.


**



** Section 2.13



OLD:
   The information model of SR Policy POL100 having a composite
   candidate path is the following:

   SR policy POL100 <headend = H1, color = 100, endpoint = E1>
        Candidate-path CP1 <protocol-origin = 20, originator =
   100:1.1.1.1, discriminator = 1>
            Preference 200
            Weight W1, SR policy <color = 1>
            Weight W2, SR policy <color = 2>

   The constituent SR Policies POL1 and POL2 have information model as
   described at the start of this section.  They are referenced only by
   color in the composite candidate path since their headend and
   endpoint are identical to the POL100.  The valid Segment-Lists of the
   active candidate path of POL1 and POL2 are installed in the
   forwarding.  Traffic steered on POL100 is flow-based hashed on POL1
   with a ratio W1/(W1+W2).  Within the POL1, the flow-based hashing
   over its Segment-Lists are performed as described earlier in this
   section.



NEW:
   The information model of SR Policy POL100 having a composite
   candidate path is the following:

   SR policy POL100 <headend = H1, color = 100, endpoint = E1>
        Candidate-path Comp-CP <protocol-origin = 20, originator =
   100:1.1.1.1, discriminator = 1>
            Preference 200
            Weight W1, Candidate-path CP1
            Weight W2, Candidate-path CP2
        Candidate-path CP1 <protocol-origin = 20, originator =
   100:1.1.1.1, discriminator = 2>
             Weight W11, SID-List1 <SID11...SID1i>
             Weight W12, SID-List2 <SID21...SID2j>
        Candidate-path CP2 <protocol-origin = 20, originator =
   100:1.1.1.1, discriminator = 3>
             Weight W21, SID-List3 <SID31...SID3i>
             Weight W22, SID-List4 <SID41...SID4j>

   Comp-CP is a composite candidate path with two constituents, CP1
   and CP2. The preference is ignored for each of the two constituent
   candidate paths. The valid Segment-Lists of the two constituent
   candidate paths are installed in the forwarding. Traffic steered
   on Comp-CP is flow-based hashed on to CP1 and CP2 with a ratio of
   W1/(W1+W2) and W2/(W1+W2) respectively. Within each constituent
   candidate path, the flow-based hashing over its Segment-Lists are
   performed as described earlier in this section.


**



** Section 5.3



OLD:
   A composite candidate path is specified as a group of its constituent
   SR Policies.

   A composite candidate path is valid when it has at least one valid
   constituent SR Policy.



NEW:
   A composite candidate path is specified as a group of its constituent
   candidate paths.

   A composite candidate path is valid when it has at least one valid
   constituent candidate path.


**



Regards,

-Pavan



On Sun, Nov 1, 2020 at 7:02 PM Ketan Talaulikar (ketant) 
<ketant=40cisco....@dmarc.ietf.org<mailto:40cisco....@dmarc.ietf.org>> wrote:
Hello All,

We have just posted an update for the draft and following is the summary of 
changes:

1) Introduction of the Composite Candidate Path construct to address a pending 
comment from the WG (Ref : 
https://mailarchive.ietf.org/arch/msg/spring/fEqE5TOwdh2vEyFm_MEjiXyP2ws/ and 
https://mailarchive.ietf.org/arch/msg/spring/d9oSSbgp0jCExRx0SXyBY0CyqXU/)
2) Based on offline feedback received, updated SRv6 segment types to include 
optional SRv6 SID and behavior instead of the new type that was introduced for 
it in the v08.
3) Clarification of handling of colors and BGP multi-path scenarios based on 
offline feedback received.
4) Clarification on considerations for TI-LFA for SR Policy as discussed in the 
WG (Ref : 
https://mailarchive.ietf.org/arch/msg/spring/EV1ytUsd5ZgkMHDN0IvFhw9id40/)

Please let know your comments/feedback.

Thanks,
Ketan (on behalf of co-authors)

-----Original Message-----
From: spring <spring-boun...@ietf.org<mailto:spring-boun...@ietf.org>> On 
Behalf Of internet-dra...@ietf.org<mailto:internet-dra...@ietf.org>
Sent: 02 November 2020 06:27
To: i-d-annou...@ietf.org<mailto:i-d-annou...@ietf.org>
Cc: spring@ietf.org<mailto:spring@ietf.org>
Subject: [spring] I-D Action: draft-ietf-spring-segment-routing-policy-09.txt


A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the Source Packet Routing in Networking WG of the 
IETF.

        Title           : Segment Routing Policy Architecture
        Authors         : Clarence Filsfils
                          Ketan Talaulikar
                          Daniel Voyer
                          Alex Bogdanov
                          Paul Mattes
        Filename        : draft-ietf-spring-segment-routing-policy-09.txt
        Pages           : 37
        Date            : 2020-11-01

Abstract:
   Segment Routing (SR) allows a headend node to steer a packet flow
   along any path.  Intermediate per-flow states are eliminated thanks
   to source routing.  The headend node steers a flow into an SR Policy.
   The header of a packet steered in an SR Policy is augmented with an
   ordered list of segments associated with that SR Policy.  This
   document details the concepts of SR Policy and steering into an SR
   Policy.


The IETF datatracker status page for this draft is:
https://datatracker.ietf.org/doc/draft-ietf-spring-segment-routing-policy/

There are also htmlized versions available at:
https://tools.ietf.org/html/draft-ietf-spring-segment-routing-policy-09
https://datatracker.ietf.org/doc/html/draft-ietf-spring-segment-routing-policy-09

A diff from the previous version is available at:
https://www.ietf.org/rfcdiff?url2=draft-ietf-spring-segment-routing-policy-09


Please note that it may take a couple of minutes from the time of submission 
until the htmlized version and diff are available at 
tools.ietf.org<http://tools.ietf.org>.

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/


_______________________________________________
spring mailing list
spring@ietf.org<mailto:spring@ietf.org>
https://www.ietf.org/mailman/listinfo/spring

_______________________________________________
spring mailing list
spring@ietf.org<mailto: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