> Well, in some cases, we *do* use a deterministic hash function to
> generate tags (see tag_create_deterministic()), but in general I
> regard randomly selected bits to be better, when we can afford to
> store them, because to my mind it makes it harder for attackers to
> force collisions.

Oh sure, I wasn't criticizing the design decision, I hardly think
storing 32bits of information per flow is an issue, and we probably
get much better hashing characteristics out of this approach.

>
> On Mon, Mar 28, 2011 at 02:17:38PM -0700, Ethan Jackson wrote:
>> I guess the only thing that makes them different from bloom filters is
>> how the hashing is done.  We are basically using a random hash
>> function, only allowing the hash to be computed once, and forcing the
>> caller to store the result.  Traditionally when people talk about
>> bloom filters, generally they have a hash function which given a flow,
>> for example, would always produce the same two bits for that flow.
>> Fundamentally it's the same data structure, just a slightly different
>> way of thinking about the problem.
>>
>> Ethan
>>
>> On Mon, Mar 28, 2011 at 2:09 PM, Ben Pfaff <b...@nicira.com> wrote:
>> > On Mon, Mar 28, 2011 at 01:59:34PM -0700, Ethan Jackson wrote:
>> >> As a side note, I finally took a moment to read how we actually
>> >> implemented tags. ?Very cool, reminds me of a very specialized version
>> >> of bloom filters.
>> >
>> > I think that they really are Bloom filters. ?They match the
>> > description for "Bloom filter" in Wikipedia. ?I probably should have
>> > just described them as Bloom filters in the header file, but I
>> > originally learned about them from Knuth v3, and he doesn't (IIRC)
>> > call them Bloom filters even though he cites Bloom as the inventor.
>> >
>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to