how many bits of entropy do we need for load balancing?

Saku Ytti saku at ytti.fi
Mon Dec 14 18:38:00 UTC 2020


On Mon, 14 Dec 2020 at 16:58, Pascal Thubert (pthubert) via NANOG
<nanog at nanog.org> wrote:

> The IPv6 flow label is 20 bits but hardware implementations do their balancing only on a subset of that, e.g. 12 or 16 bits.

Why? I don't think it's fundamentally true. Even if we imagine your
instruction set reading only 12 or 16, you can always read too much
and shift. And I certainly don't think it's a meaningful contributor
in HW design to read 20 bits or any other random bit size of entropy.


Your question itself is interesting and I don't have a good answer. I
guess the question should be 'to cover all practical networks', which
means, we need to allow for potentially hundreds of interfaces, maybe
millions of flows and potentially we need to allow highly biased
hash_result => interface mapping, to deal with elephant flows.
I think it's an answerable question, but not necessarily easy to answer.

There is also the question what SHOULD be used as a flow key, and
should the sender be able to affect that decision?
https://ytti.github.io/flow-label/draft-ytti-v6ops-flow-label.html
-- 
  ++ytti


More information about the NANOG mailing list