Subject: RE: your mail

From: Jeff Parker <[email-masked]>
Date: Tue, 2 Jul 2002 10:51:11 -0400

> Jeff> There are many functions that map your octets onto the range
> Jeff> from 1 to 6.  Based on the distribution of your octets 
> Jeff> (i.e. the flows you expect to see) you might have different
> Jeff> functions if you tried to spread the load evenly.  
> Jeff> Wouldn't you need some state to remember which function you 
> Jeff> picked?
> 
> I think the usual implementation technique is to pick a 
> function and compile
> it into the code ;-)

Eric -
	There are schemes out there that compile a function
into code, hash, and then use the result to pick a bucket
based on ranges computed to equalize the flow.  The 
state is reduced to N integers, but represents state all
the same.  
	Of course, if you don't care about equalizing the 
flow, you don't need to be so careful.  

- jeff parker
- axiowave networks

---

From: Eric Osborne <[email-masked]>
Date: Tue, 2 Jul 2002 13:34:40 -0400

> flow, you don't need to be so careful.  

I guess it depends on what you mean by "state".  With the given
definition, one also needs to keep state just to switch IP or MPLS
packets (state about InLabel/OutLabel/OutIF mapping).  Right?  Given
that, any loadsharing "state" is simply an extension of what already
must be kept.  Heck, looking at it this way, even simple, co-like TDM
boxes need state.  I've always looked at state as something computed
dynamically based not on the switching tables but on the traffic
itself (building a flow cache, for example), and let me make it
perfectly clear, I'm not a fan of flow caches[

eric