[Bridge] [PATCH net-next v3 0/4] net: bridge: convert multicast to generic rhashtable

David Miller davem at davemloft.net
Thu Dec 6 01:02:10 UTC 2018


From: Nikolay Aleksandrov <nikolay at cumulusnetworks.com>
Date: Wed,  5 Dec 2018 15:14:23 +0200

> The current bridge multicast code uses a custom rhashtable
> implementation which predates the generic rhashtable API. Patch 01
> converts it to use the generic kernel rhashtable which simplifies the
> code a lot and removes duplicated functionality. The convert also makes
> hash_elasticity obsolete as the generic rhashtable already has such
> checks and has a fixed elasticity of RHT_ELASTICITY (16 currently) so we
> emit a warning whenever elasticity is set and return RHT_ELASTICITY when
> read (patch 03). Patch 02 converts the multicast code to use non-bh RCU
> flavor as it was mixing bh and non-bh. Since now we have the generic
> rhashtable which autoshrinks we can be more liberal with the default
> hash maximum so patch 04 increases it to 4096 and moves it to a define in
> br_private.h.
> 
> v3: add non-rcu br_mdb_get variant and use it where we have
>     multicast_lock, drop special hash_max handling and just set it where
>     needed and use non-bh RCU consistently (patch 02, new)
> v2: send the latest version of the set which handles when IGMP snooping
>     is not defined, changes are in patch 01

Series applied, thanks Nik.


More information about the Bridge mailing list