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.

Just my 2c

Thanks,
Ketan


On Wed, Apr 13, 2022 at 2:35 PM Peter Psenak <ppse...@cisco.com> 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 <ppse...@cisco.com
> > <mailto:ppse...@cisco.com>> 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
Lsr@ietf.org
https://www.ietf.org/mailman/listinfo/lsr

Reply via email to