Subject: RE: on documenting ECMP (was on the mpls oam framework)

From: "David Allan" <[email-masked]>
Date: Wed, 19 Nov 2003 03:53:12 -0500

Hi Peter:

> In one of the side-branches of this discussion, the name 
> Dijkstra came up a couple of times. Apart from inventing the 
> famous algorithm, Dijkstra did important work in the area of 
> correctness proofs and concurrent processes. One of his 
> insights was that non-determinism is a powerful concept and 
> that a program should be written in such a way that its 
> correctness can be proven, even in the face of non-determinism.
> 
> We have to be careful translating this to OAM (after all, you 
> don't want your service provider to blame non-determinism 
> when your connections fail), but let's give it a try.

OK
 
> I think that ECMP is an issue only for a subset of traffic. 
> ECMP is not an issue for PW-traffic, since VCCV provides a 
> solution. 

For currently deployed ECMP. Everyone seems to want to reserve the right to
do proprietary future versions. As soon as we get into snooping PW payloads,
all bets are off.... ;-)

> ECMP is not an issue for services with QoS 
> guarantees, where RSVP-TE is used to set up the connection, 
> because an explicit path is nailed down. 
> 
> The question in my mind is: for the traffic that is subject 
> to ECMP, is it really crucial to know exactly how traffic is 
> routed? Shouldn't we just embrace non-determinism for the 
> advantages that it provides and find ways to work around it?

No, actually IMHO ECMP introduces connectivity components that are not known
to upstream components therefore expecting those components to have
responsibility for verification of the "unknowable" is unreasonable, and
introduces a lot of extra load on the network. George has proposed a
solution in LSR-SELF test, I have a solution that fits my sensibilities in
17fec-cv.

> For example, when I surf the web, I don't need an ISP to be 
> able to send OAM packets along the exact same path that I 
> used five minutes ago. For such applications, end-to-end OAM 
> would not be relevant, but local loopback tests might be much 
> more useful.

I presume you're referring to the ECMP node doing more, I agree in general
that distributing responsibility for testing ECMP needs to move to the ECMP
implementing LSRs on the basis of the argument above. IMHO that eliminates
non-determinism.

cheers
Dave