Hi Ketan,

please see inline (##PP4):


On 13/04/2022 10:52, Ketan Talaulikar wrote:
Hi Peter,

I will not press this point further if I am the only one that finds this complexity without any benefit. :-)

Please check inline below for some clarifications with KT3.


On Wed, Apr 13, 2022 at 12:47 PM Peter Psenak <[email protected] <mailto:[email protected]>> wrote:

    Hi Ketan,


    please see inline (##PP3):

    On 13/04/2022 06:00, Ketan Talaulikar wrote:
     > Hi Peter,
     >
     > Please check inline below with KT2. I am trimming everything
    other than
     > the one point of continuing debate.
     >
     >      >      >
     >      >      > 2) The relationship between the algo usage for IP
    FlexAlgo
     >     and other
     >      >      > data planes (e.g. FlexAlgo with SR) is not very clear.
     >     There arise
     >      >      > complications when the algo usage for IP FlexAlgo
    overlap
     >     with other
     >      >      > (say SR) data planes since the FAD is shared but
    the node
     >      >     participation
     >      >      > is not shared. While Sec 9 suggests that we can work
     >     through these
     >      >      > complications, I question the need for such complexity.
     >     The FlexAlgo
     >      >      > space is large enough to allow it to be shared between
     >     various data
     >      >      > planes without overlap. My suggestion would be to
    neither
     >     carve out
     >      >      > parallel algo spaces within IGPs for various types of
     >     FlexAlgo data
     >      >      > planes nor allow the same algo to be used by both
    IP and
     >     SR data
     >      >     planes.
     >      >      > So that we have a single topology computation in
    the IGP
     >     for a given
     >      >      > algo based on its FAD and data plane participation and
     >     then when it
     >      >      > comes to prefix calculation, the results could involve
     >      >     programming of
     >      >      > entries in respective forwarding planes based on the
     >     signaling of
     >      >     the
     >      >      > respective prefix reachabilities. The coverage of these
     >     aspects in a
     >      >      > dedicated section upfront will help.
     >      >
     >      >     ##PP
     >      >     I strongly disagree.
     >      >
     >      >     FAD is data-pane/app independent. Participation is
    data-plane/app
     >      >     dependent. Base flex-algo specification is very clear
    about
     >     that. That
     >      >     has advantages and we do not want to modify that part.
     >      >
     >      >
     >      > KT> No issue with this part.
     >      >
     >      >
     >      >     Topology calculation for algo/data-plane needs to take
    both
     >     FAD and
     >      >     participation into account. You need independent
    calculation
     >     for each
     >      >     data-plane/app in the same algo.
     >      >
     >      >
     >      > KT> So, an implementation now needs to potentially support
     >     performing
     >      > multiple topology computations for each algo. This is a
     >     complication for
     >      > which I do not see the justification. Why not just pick
    different
     >      > algorithms for different data planes for those (rare?)
     >     deployments where
     >      > someone wants multiple data planes?
     >
     >     ##PP2
     >     flex-algo architecture supports multiple apps/data-planes per
    algo,
     >     with
     >     unique participation per app/data-plane. That requires
    per-algo/per
     >     app/data-plane calculation. What is complicated on it?
     >
     >
     > KT2> This specific and precise statement that you have provided
    is not
     > covered in either draft-ietf-lsr-flex-algo or this document. For
     > starters, this needs to be clarified and covered so that it gets the
     > attention of any reader during the review. This has implications for
     > implementations.

    ##PP3
    sure we can add it explicitly there, but if you read the base flex-algo
    draft carefully, it is quite clear. I will add that exact statement in
    the next re-spin of the base spec.


KT3> Thanks. I think we may also need to carefully scrub the use of the term "application" since it seems to bring out different interpretations thanks to the "application" in ASLA. It is better if we use the term "application" only in the same semantics as ASLA  - this means that FlexAlgo is a single "application". We can perhaps use the term "traffic flows" or "service flows" as an alternate for "application flows" that are steered over or use a FlexAlgo.  And then when it comes to Node Participation in a FlexAlgo, we could use the term "FlexAlgo Forwarding Mechanism" instead of "Applications' Forwarding for FlexAlgo". Thoughts?

##PP4
the term application is used in the base flex-algo spec from day one. It was chosen because it was generic enough to describe whatever the flex-algo may be used for down the road. We could have used 'data-plane' instead, but it could be quite restrictive IMHO.



     >
     >
     >     If your implementation does not want to support it, fine, but the
     >     architecture allows it and there is/are implementation(s)
    that already
     >     support it. This is not defined in this draft, it's defined
    in base
     >     flex-algo spec.
     >
     >
     > KT2> I am not sure if it is really an option for implementation
    once it
     > is in the specification. And this is not about "my"
    implementation :-).
     > So it is not that because some implementations can do (or does)
    it that
     > it should be in the specification. The determination on whether it
     > should be in a specification needs to be based on the tradeoff
    between
     > requiring multiple computations per algo with the potential
    benefit or
     > use case that is enabled by it.

    ##PP3
    again, this is how things have been defined from day one, and for a
    good
    reason. Requiring per app flex-algo even though I want to use the same
    metric and constraints for both app would be inefficient.


KT3> For my understanding, the only inefficiency that you are referring to with the "separate algo per FlexAlgo forwarding mechanism" is a duplicate FAD advertisement. Am I missing anything else?

##PP4
right. But the point is there is nothing that prevents multiple apps using the same algo in the architecture itself. And I see no good reason for such restriction.


     >
     >
     >
     >      >
     >      >
     >      >     The fact that the same FAD is shareable between all
    apps has it
     >      >     advantages and use cases - e.g. if the participation
    for algo
     >     X is the
     >      >     same in SR and IP data-planes, one can use SR to
    protect IP
     >     in that
     >      >     algo.
     >      >
     >      >
     >      > KT> Would this protection use case not violate the base
    FlexAlgo
     >     rule
     >      > that the protection has to remain within the specific
    topology.
     >     If there
     >      > is an SR data plane, then why would one want an IP data
    plane as
     >     well?
     >
     >     ##PP2
     >     if the participation in two app/data-planes is the same for
    the algo,
     >     the resulting topology is the same. If your implementation is
    smart, it
     >     can only run a single computation for that case. There is no
    violation
     >     here whatsoever.
     >
     >
     > KT2> If the resulting topology is the same between SR data plane
    and IP
     > data plane, what is the need to enable the IP data plane? Why not
    just
     > steer the IP traffic over the FlexAlgo data plane? And when it is
    not
     > the same topology, then we cannot really do the protection for IP
     > FlexAlgo using SR FlexAlgo. So what is really the use case or
    benefit
     > for enabling this?

    ##PP3
    I just gave you an example where this might be useful. You may not like
    it, but it will have no impact on the defined architecture.


KT3> Ack - we can agree to disagree on this.


     >
     >
     >
     >
     >      > IP forwarding can be steered over the SR-based FlexAlgo
    topology
     >     along
     >      > with the protection provided by it. Am I missing something?
     >
     >     ##PP2
     >     topology for both primary and backup computation must be the
    same.
     >
     >
     > KT2> I see the primary use case for IP FlexAlgo (or another data
    plane)
     > to be that the data plane is used by itself. In the (rare?) case
    where
     > multiple data planes are required to coexist, it is simpler both
    from
     > implementation and deployment POV to use different algos. It
    would be
     > good to have operator inputs here. The only cost that I see for
    this is
     > that the same FAD may get advertised twice only in the case where
    it is
     > identical for multiple data planes. So I am still not seeing the
    benefit
     > of enabling multiple (i.e. per data plane) computations for a single
     > algo rather than just keeping it a single computation per algo
    where a
     > single data plane is associated with a specific algo.

    ##PP3
    I really do not see the problem. As you stated above repeating the same
    FAD for multiple algos would be inefficient. The beauty of FAD is that
    it is app independent and can be used by many of them.

    If you like to repeat it, fine it will still work. But we do not
    want to
    mandate that in the spec.


KT3> There is currently no normative text in the draft-lsr-flex-algo that specifies that an implementation needs to support a "per flexalgo forwarding mechanism" computation for each algo. So when this clarification is added, can this be a MAY or perhaps a SHOULD so that an implementation has the choice to perhaps not do this and still remain compliant to the spec?

##PP4
I'm fine to make that optional.

thanks,
Peter

Thanks,
Ketan



    thanks,
    Peter

     >
     > Thanks,
     > Ketan


_______________________________________________
Lsr mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/lsr

Reply via email to