• Nikolay Aleksandrov's avatar
    net: bridge: mcast: add support for group source list · 8b671779
    Nikolay Aleksandrov authored
    Initial functions for group source lists which are needed for IGMPv3
    and MLDv2 include/exclude lists. Both IPv4 and IPv6 sources are supported.
    User-added mdb entries are created with exclude filter mode, we can
    extend that later to allow user-supplied mode. When group src entries
    are deleted, they're freed from a workqueue to make sure their timers
    are not still running. Source entries are protected by the multicast_lock
    and rcu. The number of src groups per port group is limited to 32.
    
    v4: use the new port group del function directly
        add igmpv2/mldv1 bool to denote if the entry was added in those
        modes, it will later replace the old update_timer bool
    v3: add IPv6 support
    v2: allow src groups to be traversed under rcu
    Signed-off-by: default avatarNikolay Aleksandrov <nikolay@cumulusnetworks.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    8b671779
br_multicast.c 63.1 KB