• Linus Lüssing's avatar
    batman-adv: Always flood IGMP/MLD reports · bd2a979e
    Linus Lüssing authored
    With this patch IGMP or MLD reports are always flooded. This is
    necessary for the upcoming bridge integration to function without
    multicast packet loss.
    
    With the report handling so far bridges might miss interested multicast
    listeners, leading to wrongly excluding ports from multicast packet
    forwarding.
    
    Currently we are treating IGMP/MLD reports, the messages bridges use to
    learn about interested multicast listeners, just as any other multicast
    packet: We try to send them to nodes matching its multicast destination.
    
    Unfortunately, the destination address of reports of the older
    IGMPv2/MLDv1 protocol families do not strictly adhere to their own
    protocol: More precisely, the interested receiver, an IGMPv2 or MLDv1
    querier, itself usually does not listen to the multicast destination
    address of any reports.
    
    Therefore with this patch we are simply excluding IGMP/MLD reports from
    the multicast forwarding code path and keep flooding them. By that
    any bridge receives them and can properly learn about listeners.
    
    To avoid compatibility issues with older nodes not yet implementing this
    report handling, we need to force them to flood reports: We do this by
    bumping the multicast TVLV version to 2, effectively disabling their
    multicast optimization.
    Tested-by: default avatarSimon Wunderlich <sw@simonwunderlich.de>
    Signed-off-by: default avatarLinus Lüssing <linus.luessing@c0d3.blue>
    Signed-off-by: default avatarMarek Lindner <mareklindner@neomailbox.ch>
    Signed-off-by: default avatarSven Eckelmann <sven@narfation.org>
    Signed-off-by: default avatarSimon Wunderlich <sw@simonwunderlich.de>
    bd2a979e
Kconfig 2.88 KB