• Linus Lüssing's avatar
    batman-adv: mcast: fix duplicate mcast packets from BLA backbone to mesh · 41f5e628
    Linus Lüssing authored
    [ Upstream commit 2369e827 ]
    
    Scenario:
    * Multicast frame send from BLA backbone gateways (multiple nodes
      with their bat0 bridged together, with BLA enabled) sharing the same
      LAN to nodes in the mesh
    
    Issue:
    * Nodes receive the frame multiple times on bat0 from the mesh,
      once from each foreign BLA backbone gateway which shares the same LAN
      with another
    
    For multicast frames via batman-adv broadcast packets coming from the
    same BLA backbone but from different backbone gateways duplicates are
    currently detected via a CRC history of previously received packets.
    
    However this CRC so far was not performed for multicast frames received
    via batman-adv unicast packets. Fixing this by appyling the same check
    for such packets, too.
    
    Room for improvements in the future: Ideally we would introduce the
    possibility to not only claim a client, but a complete originator, too.
    This would allow us to only send a multicast-in-unicast packet from a BLA
    backbone gateway claiming the node and by that avoid potential redundant
    transmissions in the first place.
    
    Fixes: 279e89b2 ("batman-adv: add broadcast duplicate check")
    Signed-off-by: default avatarLinus Lüssing <linus.luessing@c0d3.blue>
    Signed-off-by: default avatarSven Eckelmann <sven@narfation.org>
    Signed-off-by: default avatarSimon Wunderlich <sw@simonwunderlich.de>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
    41f5e628
bridge_loop_avoidance.c 73.1 KB