On 04/12/2018 16:44, Nikolay Aleksandrov wrote: > 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. > > 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 | 11 ++ > net/bridge/br_mdb.c | 120 +++++------ > net/bridge/br_multicast.c | 405 ++++++-------------------------------- > net/bridge/br_netlink.c | 11 +- > net/bridge/br_private.h | 36 ++-- > net/bridge/br_sysfs_br.c | 6 +- > 6 files changed, 149 insertions(+), 440 deletions(-) >
Self-NAK, sent an older version of the patch-set which has a problem when IGMP_SNOOPING is not defined. Will send the current in a few.