Subject: bonding: should rlb rx_hashtbl be reimplemented?

From: Jiri Bohac <[email-masked]>
Date: Mon, 27 Feb 2012 18:46:09 +0100

On Mon, Feb 27, 2012 at 06:34:00PM +0100, Jiri Bohac wrote:
> [1]: ... unless it is replaced with another value that happens to
> have the same hash -- rx_hashtbl is not a proper hash table. In
> case of a collision, the old entry is replaced by the new one.

Unrelated to this patch:

I believe that with the current implementation, if one needs to
communicate with two hosts with colliding IP addresses, RLB can't
work properly unless you renumber your network (and it will
generate an ARP storm as a side effect!).

Has anyone thought of replacing this strange hash table
implementation with a proper hash table, with colliding entries
in linked lists, some garbage collection when the hash grows too
large (configurable hash table size), etc?

Also, once the code is reworked, it could easily be made to work with
IPv6/ND in additiopn to IPv4/ARP.

I am willing to give this a try -- any thoughts?

-- 
Jiri Bohac <[email-masked]>
SUSE Labs, SUSE CZ