I think I have now inferred what the intended use case is for PSP. I
really wish folks had stated it in full and explicitly, rather than
implicitly a piece at a time, on the list.
As noted below after the explanation, I think that supporting this use
case does require some explanations somewhere. And given that the
support is in terms of PSP, I guess the NP draft is the place to put the
caveats.
As far as I can tell, the use case is as follows.
The operator has devices, that they reasonably wish to continue to use.
These devices can support encapsulation and decapsulation with
sufficiently arbitrary content.
These devices comply with the RFC 8200 requirement for ignoring routing
headers by punting those to the slow path. With significant performance
penalty.
-- Presumably, these devices have some form of protection to prevent
this slow-pathing from becoming a DoS on the other necessary control
functions. I don't think that protection is an SRv6 or NP problem. But
it is necessary.
Thus, the SRv6 designers want to be able to use these devices as part of
the SRv6 domain, strictly at entry and exit. They use PSP as a way to
avoid hitting the slow path on decapsulate. (Presumably because the
check that punts the packet to the slow path is before the check that
says "decapsulate". And it probably should be in that order.)
In order to support this, the authors have also pretended that maximum
SID depth is meaningful for a thing that is not a stack, and that 0
means "no SRH permitted". While an interesting stretch on the routing
protocol semantics, it is not SPRING's problem.
The fact that these nodes can not be SRv6 end nodes other than as
terminal nodes with a prior node that advertised PSP SID(s) and where
those PSP SIDs are used on any path that terminates at these end nodes
is important. It probably should be called out. It would have helped a
number of the examples that were discussed on the list.
There is another implication that needs to be stated explicitly. And I
do not know how the necessary property can be indicated. These nodes
MUST NOT be transit nodes in an SRv6 path.
Having parsed the use case, I would note that the topological
constraints are pretty severe. the operator must ensure that there are
PSP processing nodes sufficiently close to these edge nodes that they do
not destroy the traffic engineering properties in order to achieve the
ingress / egress utilization.
If all of this had been stated explicitly, I think we could have had a
clear discussion of teh costs and benefits.
Yours,
Joel
_______________________________________________
spring mailing list
spring@ietf.org
https://www.ietf.org/mailman/listinfo/spring