Subject: RE: your mail

From: Alia Atlas <[email-masked]>
Date: Tue, 23 Jul 2002 10:54:22 -0400

Shahram,

By hashing on the label stack up to the Nth label, one obtains better 
diversity.  All the information to indicate a flow is included in the 
resulting hash.  There certainly are algorithms which can operate on a 
variable length input.

Also, if one desires to use the IP information potentially underneath an 
MPLS packet, it is possible to attempt to differentiate IP from non-IP 
using the IP checksum and version number.

Alia

At 07:04 AM 7/23/02 -0700, Shahram Davari wrote:
>Thanks Eric,
>
>Your response seems reasonable. However, I have heard that
>some implementation hash the label stack, up to the Nth
>label or bottom-label (if the stack has less than N labels).
>Does that mean that the hashing algorithm should operate on a
>variable length input? And if so does such an algorithm exist?
>
>Yours,
>-Shahram
>
> > -----Original Message-----
> > From: Gray, Eric [mailto:[email-masked]]
> > Sent: Monday, July 22, 2002 5:06 PM
> > To: Shahram Davari; [email-masked]'
> > Cc: [email-masked]
> > Subject: RE: your mail
> >
> >
> > Shahram,
> >
> >       There is nothing to be fearful, uncertain or
> > doubtful about here.
> >
> >       If an implementation can handle up to N labels,
> > then it can use either the bottom-of-stack label or
> > the Nth label for a hash key.  With respect to flows,
> > this will be consistent.  It will also tend to give
> > the greatest degree of entropy in hashing possible
> > for a specific labeled packet.  It doesn't guarantee
> > even distribution any worse than any other 'guess'.
> >
> >       Use of the IP header as well is a) unnecessary,
> > b) unhelpful and c) not a good idea.
> >
> > Eric W. Gray
> > Systems Architect
> > Celox Networks, Inc.
> > [email-masked]
> > 508 305 7214
> >
> >
> > -----Original Message-----
> > From: Shahram Davari [mailto:[email-masked]]
> > Sent: Monday, July 22, 2002 4:48 PM
> > To: [email-masked]'
> > Cc: 'Giles Heron'; [email-masked];
> > [email-masked]; [email-masked]
> > Subject: RE: your mail
> >
> > Hi Eric,
> >
> > If I understand you correctly, what you are saying is that
> > assume a number
> > such as "N", and hash the Nth label, regardless of whether it is the
> > real bottom-most label (i.e. with S=1) or not. If so then:
> >
> > 1) How do you know that at least N labels exist in all packets?
> > 2) The Nth label can not identify a flow by itself, rather
> > you need to hash
> > the whole label stack from the top, up to the Nth label, in order to
> > identify a flow.
> > 3) I have heard that some implementations hash the IP header
> > too? How does
> > that fit in to your model? How do you know that the payload
> > is IP? And don't
> > you need to find the real bottom of stack (S=1) in order to
> > include the IP
> > header in the hash?
> >
> > Yours,
> > -Shahram
> >
> > > -----Original Message-----
> > > From: Eric Rosen [mailto:[email-masked]]
> > > Sent: Monday, July 22, 2002 3:15 PM
> > > To: Shahram Davari
> > > Cc: 'Giles Heron'; [email-masked]; [email-masked];
> > > [email-masked]
> > > Subject: Re: your mail
> > >
> > >
> > >
> > > Shahram> "Deep" or "not deep"  you need potentially unlimited
> > > packet parsing
> > > Shahram> (uo to  MTU size), since as you  said the number of
> > > labels are not
> > > Shahram> limited to 2.
> > >
> > > To  the MTU  size?   That would  be for  the  case where  the
> > > entire  packet
> > > contains the MPLS label stack and there is no payload?
> > >
> > > As has been made  clear repeatedly, you can hash on any
> > > label, you just get
> > > more fine-grained load balancing the  further down you go.
> > > So generally you
> > > would look  at the  bottom-most label  that you can  easily
> > > see,  given your
> > > particular forwarding architecture.
> > >
> > >
> > >
> > >
> >