Partial vs Full tables

Saku Ytti saku at ytti.fi
Tue Jun 9 06:29:33 UTC 2020


On Tue, 9 Jun 2020 at 02:22, Josh Hoppes <josh.hoppes at gmail.com> wrote:

> Juniper Networks has also tried using Bloom filters.
>
> https://patents.google.com/patent/US20170187624
>
> I think the QFX10002 was the first product they made which used this approach.
>
> https://forums.juniper.net/t5/Archive/Juniper-QFX10002-Technical-Overview/ba-p/270358

How they use it is not clear and it's not communicated in the article.
Bloom filter of course only answers to you 'maybe' or 'no', which is
not sufficient for egress rewrite information.

The article also implies the bloom filter is in HMC, which I don't
believe. I suspect roughly what is happening

a) there are N bloom filters on-chip
b) lookup is ran parallel to all N bloom filters
c) bloom filters which give 'maybe' answer, cause lookup to off-chip HMC

The naive approach would be 1 bloom filter per-netmask, so you have
LEM only lookups in HMC, and on-chip tells which LEM lookups to do, to
reduce LEM count from 32 to something rather less.

But this surely isn't what they are doing, because the hash population
is very different for /1 than it is to /24 and you want a reasonably
fair balance, while guaranteeing LEM to off-chip. But I'm sure this is
the gist of it, imprecise fast on-chip allowing LEM only off-chip.


-- 
  ++ytti



More information about the NANOG mailing list