Hi, 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 02). Since now we have the generic rhashtable which autoshrinks we can be more liberal with the default hash maximum so patch 03 increases it to 4096 and moves it to a define in br_private.h.
v2: send the latest version of the set which handles when IGMP snooping is not defined, changes are in patch 01 Thanks, Nik Nikolay Aleksandrov (3): net: bridge: convert multicast to generic rhashtable net: bridge: mark hash_elasticity as obsolete net: bridge: increase multicast's default maximum number of entries net/bridge/br_device.c | 10 + net/bridge/br_mdb.c | 120 +++++------ net/bridge/br_multicast.c | 406 +++++++------------------------------- net/bridge/br_netlink.c | 11 +- net/bridge/br_private.h | 41 ++-- net/bridge/br_sysfs_br.c | 6 +- 6 files changed, 156 insertions(+), 438 deletions(-) -- 2.17.2