• Nikolay Aleksandrov's avatar
    net: bridge: multicast: add EHT include and exclude handling · ddc255d9
    Nikolay Aleksandrov authored
    Add support for IGMPv3/MLDv2 include and exclude EHT handling. Similar to
    how the reports are processed we have 2 cases when the group is in include
    or exclude mode, these are processed as follows:
     - group include
      - is_include: create missing entries
      - to_include: flush existing entries and create a new set from the
        report, obviously if the src set is empty then we delete the group
    
     - group exclude
      - is_exclude: create missing entries
      - to_exclude: flush existing entries and create a new set from the
        report, any empty source set entries are removed
    
    If the group is in a different mode then we just flush all entries reported
    by the host and we create a new set with the new mode entries created from
    the report. If the report is include type, the source list is empty and
    the group has empty sources' set then we remove it. Any source set entries
    which are empty are removed as well. If the group is in exclude mode it
    can exist without any S,G entries (allowing for all traffic to pass).
    Signed-off-by: default avatarNikolay Aleksandrov <nikolay@nvidia.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    ddc255d9
br_private_mcast_eht.h 1.67 KB