An interesting point.
The RFC 7490 definition of P-space is
P-space:
The P-space of a router with respect to a protected link is the
set of routers reachable from that specific router using the pre-
convergence shortest paths without any of those paths (including
equal-cost path splits) transiting that protected link.
For example, the P-space of S with respect to link S-E is the set
of routers that S can reach without using the protected link S-E.
For safety the ECMP exclusion needs to apply to extended P-space as well. In
both cases unless the ECMP behaviour of all nodes on the path is examined and
the packet is specifically steered the safe way (something that cannot be done
in the general case but could be done in Ti-LFA) it is unsafe to assume that
ECMP will not cause a loop back to the PLR.
I therefore think that either the RFC7490 definition needs to be used, or
there needs to be specific text included that provides guidance on the need to
steer the repaired packet safely though any node that the repaired packet will
be routed through that may ECMP via the failure.
Best regards
Stewart
> Begin forwarded message:
>
> From: Yasuhiro Ohara <[email protected]>
> Subject: Question for TI-LFA
> Date: 24 March 2024 at 05:54:33 GMT
> To: [email protected]
> Cc: Yasuhiro Ohara <[email protected]>
>
> Hi,
>
> I have a question for the draft-ietf-rtgwg-segment-routing-ti-lfa-13.
> I wonder if it needs a fix.
>
> In the I-D, the Section 3. "Terminology" defines
> the P-space as the following.
>
>> The P-space P(R,X) of a router R with regard to a resource X (e.g. a
>> link S-F, a node F, or a SRLG) is the set of routers reachable from R
>> using the pre-convergence shortest paths without any of those paths
>> (including equal-cost path splits) transiting through X.
>
> The Figure 1 (Section 6) in the same I-D,
> the resulting P(S, N1) includes R1,
> but one of the S's ECMPs to R1 includes N1.
> S's ECMPs to R1: [(S-N1-R1), (S-N2-R1)].
> How can we include R1 in the P(S,N1),
> given the P-space definition?
>
> My current guess is that P-space definition needs additional
> explanation on the ECMP part.
> My guess for the correct definition is:
> A router (say 'U') can be included in the P(R,X)
> as long as the R can exclude all the nexthops
> possibly transiting through X.
>
> I think we are implicitly assuming that S can eliminate sending
> through N1 to R1 by itself, and so the R1 can be include in P(S,N1)
> in Section 6.
>
> As a search for other problematic example,
> we can manipulate(generate artificially)
> the topology such that S's ECMPs to R1 consist of:
> S-X-A-R1
> S-B-R1
> S-C-X-R1
> S-D-E-R1
> S-D-X-R1
>
> In this case, R1 can be included only if S can eliminate the
> X, C, D from the nexthops to R1.
> S-X-A-R1 (NG, easily avoidable)
> S-B-R1 (OK)
> S-C-X-R1 (NG, avoidable after path calculation)
> S-D-E-R1 (NG, hard to avoid unless we compute ECMP from D to R1)
> S-D-X-R1 (NG, hard to avoid unless we compute ECMP from D to R1)
>
> The current definition seems to worry about inclusion of D nexthop case,
> and contradicts with the raised example which includes B nexthop case.
>
> By the way, I think Q-space definition is correct as is
> in the current version.
>
> Best regards,
> Yasu
>
> _______________________________________________
> rtgwg mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/rtgwg
_______________________________________________
rtgwg mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/rtgwg