Subject: RE: your mail

From: Shahram Davari <[email-masked]>
Date: Mon, 1 Jul 2002 20:31:38 -0700

> -----Original Message-----
> From: Eric Osborne [mailto:[email-masked]]
> Sent: Monday, July 01, 2002 10:32 PM
> To: Shahram Davari
> Cc: [email-masked]'; Eric Osborne; George Sheng; 
> [email-masked];
> [email-masked]
> Subject: Re: your mail
> 
> 
> On Mon, Jul 01, 2002 at 07:12:58PM -0700, Shahram Davari wrote:
> > > -----Original Message-----
> > > From: Eric Rosen [mailto:[email-masked]]
> > > Sent: Friday, June 28, 2002 11:10 AM
> > > To: Eric Osborne
> > > Cc: Shahram Davari; George Sheng; [email-masked]; [email-masked]
> > > Subject: Re: your mail 
> > > 
> > > 
> > > 
> > > Shahram> ECMP is a kludge to overcome LDP's inability to TE. 
> > > 
> > > EricO> That seems to be an Extremely Silly statement
> > > 
> > > Yes, indeed.  That's  a bit like saying that dynamic routing  
> > > is a kludge to
> > > overcome IP's inability to set up end-to-end circuits for 
> > > individual flows.
> > 
> > I don't think this is a good analogy.
> > 
> 
> Why not?  Given that LDP (not CR-LDP) simply follows the IGP routing,
> shouldn't you have said something like "...to overcome {ISIS|OSPF}'s
> ability to TE..."?  At the very least, that's spitting into the wind;
> what we have with IP now has made a lot of people happy for a very
> long time.

I don't believe dynamic routing = TE 
 
> 
> > > 
> > > The ability to do load  balancing without creating extra 
> > > states is generally
> > > construed as  a good  thing,
> > 
> > Sure, but LDP ECMP requires hashing states to be created in 
> the LSRs.
> > 
> 
> Not sure what "hash states" are, but at least in one implementation
> I'm familiar with, there's no state kept for any sort of load
> balancing, be it IP ECMP, MPLS ECMP, or MPLS unequal-cost balancing.
> No per-flow state, no per-packet state, nothing.

To do ECMP, you need to assign hashed values to egress ports. This
assignment is the hash state that I said you need.

> It's true that the
> forwarding path involves a hash lookup during forwarding to a
> load-balanced prefix, but to inherently declare that unacceptable
> doesn't seem right.  And for what it's worth, the same forwarding
> implementation handles MPLS-TE loadsharing as well, which I think
> we've agreed so far is pretty useful.

Agree, but only if the top label is used for hashing. 

> 
> Maybe you and I are just on different planes.  In simple words, so
> folks like me who actually deploy the stuff can understand, what is
> the fundamental problem with LDP's load-sharing that doesn't also
> exist in IP, and how is this fundamental problem different from
> whatever it is that MPLS-TE (CR-LDP or RSVP) does?
> 
> 
> eric
> 
> > 
> >  but I  guess not  by the "CO  
> > > networking rules"
> > > crowd.  Next  we'll be  hearing  that  equal  cost load  
> > > balancing  couldn't
> > > possibly work; violates some ITU architecture, no doubt.  ;
> > 
> > > 
> > > 
> > > 
> > > 
>

---

From: Eric Osborne <[email-masked]>
Date: Tue, 2 Jul 2002 08:56:30 -0400

> I don't believe dynamic routing = TE 

ok...so not that I agree with you, but if your definition of TE means
"non-SPF paths" then things are starting to make sense.  Certainly
using SPF is pretty coarse, but I've always considered it a form of
TE.  To me, TE is manipulating your traffic to fit your network
topology, and changing IGP metrics to steer traffic around is one way
to do that.

> assignment is the hash state that I said you need.

Then I guess I don't see what's inherently bad about them?  So I add a
hash lookup - so what?  From an IP perspective, as long as I avoid out
of order packets, I'm OK, and any reasonable implementation is going
to keep the same conversation/flow/whatever following the same path.

> Agree, but only if the top label is used for hashing. 

Why does it matter what value you use for hashing?    What's the
fundamental objection to using label stack/underlying payload?  This
is like saying it's OK to use only IP SA/DA for hashing, and not
things like L4 ports.  From my perspective, as long as 
	a) you keep conversations in order
	b) you can balance traffic reasonably well

then your hash function has done its job.  Right?

And for that matter, is it OK to use SA/DA on an IP packet for
hashing?  If so, why can't I use the same information (as found
underneath a label stack) in an MPLS packet to do the same thing?
It's not like this is *forwarding*, it's just hashing.

eric

---

From: Eric Rosen <[email-masked]>
Date: Tue, 02 Jul 2002 10:06:27 -0400

Shahram> To do ECMP, you need to  assign hashed values to egress ports. This
Shahram> assignment is the hash state that I said you need.  

A hash is  a function that maps  some sequence of octets into  a sequence of
integers.  If you want to split  traffic over six paths, while ensuring that
all packets  with the  same bottom label  travel the  same path, you  need a
function that maps  a 20 bit quantity  into a number from 1-6.   There is no
need to maintain state of any kind.