Hi Robert,

On 14/04/2022 11:21, Robert Raszuk wrote:
Hi Peter,

Term "data-plane" usually means physical resources links, switch fabric, ASIC etc ... so I am afraid it will also generate confusion with default data plane.

How about two alternatives:

- custom/logical topology
- logical-data-plane

flex-algo has been defined so far for:

- SR-MPLS
- SRv6
- IP
- BIER

Would you call them "custom/logical topology" or "logical-data-plane"?
I would not.

thanks,
Peter



Thx,
Robert.






On Thu, Apr 14, 2022 at 9:27 AM Peter Psenak <[email protected] <mailto:[email protected]>> wrote:

    Hi Ketan,

    On 13/04/2022 15:56, Ketan Talaulikar wrote:
     > Hi Peter,
     >
     > I would still reiterate the need to clarify the usage of
    "application"
     > terminology in the base FlexAlgo spec. We don't need to call it
     > "data-plane", I was suggesting "forwarding mechanism" or it can be
     > something else as well.

    I will replace with data-plane. That's the best from what we have.

    thanks,
    Peter



     >
     > Just my 2c
     >
     > Thanks,
     > Ketan
     >
     >
     > On Wed, Apr 13, 2022 at 2:35 PM Peter Psenak <[email protected]
    <mailto:[email protected]>
     > <mailto:[email protected] <mailto:[email protected]>>> wrote:
     >
     >     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]>
     >     <mailto:[email protected] <mailto:[email protected]>>
     >      > <mailto:[email protected] <mailto:[email protected]>
    <mailto:[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] <mailto:[email protected]>
    https://www.ietf.org/mailman/listinfo/lsr
    <https://www.ietf.org/mailman/listinfo/lsr>


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

Reply via email to