Subject: RE: response to ITU-T SG13

From: Shahram Davari <[email-masked]>
Date: Mon, 15 Apr 2002 10:41:32 -0700

Hi Giles,

> which means that intermediate LSRs that use a hash to load 
> balance MPLS
> traffic over equal cost links/paths have to be careful to 
> exclude the S
> bit from any hash.

An more logical method is for the hash result
to point to the same region of the hash key 
when S=0 or S=1 in the bottom-most label.

> 
> I'm not sure that this is the case for all current implementations...

I don't think specific implementations should be a concern for a standard
body such as IETF. You could always find a specific implementations that can't
support a new function. Any objection regarding backward compatibility should be
based on a standard. AFAIK there is no standard for hash-based ECMP MPLS switching. 

> 
> In fact this also would seem to imply that you have to hash 
> over a fixed
> number of labels (to ensure that both the OAM traffic and the user
> traffic get the same hash value).  This coarsens the load balancing
> granularity somewhat :(

If only 0.1% of a single label range is used, you could still select up to ~1000 different flows using that "single" label. I am not sure of how coarse this is!!!

> 
> The alternatives would be either to preclude hashed 
> load-balancing or to
> require OAM-aware core LSRs.  Neither of these options is acceptable
> IMO.
> 

Giles, even MPLS-ping that is carried over non-IP carrying LSP uses
an extra label (Explicit Null label). So I don't think you can find 
any solution that can satisfy the restricted implementations in your boxes. 

Yours,
-Shahram

> Giles
> 
> -- 
> =================================================================
> Giles Heron    Principal Network Architect    PacketExchange Ltd.
> ph: +44 7880 506185              "if you build it they will yawn"
> =================================================================
>

---

From: Giles Heron <[email-masked]>
Date: 15 Apr 2002 19:17:17 +0000

> when S=0 or S=1 in the bottom-most label.

but if S=0 then it isn't the bottom-most label?

> based on a standard. AFAIK there is no standard for hash-based ECMP MPLS switching. 

no, of course there is no standard - this is something that happens
inside the switch.  Every vendor will implement this as they see fit.

but IMO we should be trying to avoid inventing things that break
existing hardware in a different part of the network - or at least to
note the caveats when we do so.
 
> If only 0.1% of a single label range is used, you could still select up to ~1000 different flows using that "single" label. I am not sure of how coarse this is!!!

that depends on the size of the flows.

My aim is to avoid hashing at a granularity where all traffic to a given
PE has to end up on a given link in the network.  Even with OC-192c
links this may be a problem if there are two large and heavily loaded
PEs :(

> any solution that can satisfy the restricted implementations in your boxes. 

True, LSP ping will require the extra label for non-IP carrying LSPs. 
In fact I don't think there is a solution to this that is internal to
the MPLS network and that works in the presence of load-balancing that
hashes different non-IP carrying LSPs onto different links unless you:

1)  know the stack depth a-priori, OR
2)  write a hash algorithm that hashes (label Y, S=1) onto the same link
as label [label Y, S=0][OAM, S=1] (or [Y, S=0][Explicit NULL, S=1]).

In any case I'm not sure that using phrases like "restricted
implementations in your boxes" is helpful when I am describing a general
problem with MPLS OAM that Neil, for one, has the grace to concede?

Giles

---

From: Eric Osborne <[email-masked]>
Date: Mon, 15 Apr 2002 14:39:16 -0400

> when S=0 or S=1 in the bottom-most label.

Maybe I'm missing something.  If you set S=0 in the bottom-most label
of the stack, how do you know where the stack ends and the payload
starts?

eric