• Linus Lüssing's avatar
    Revert "bridge: only expire the mdb entry when query is received" · 454594f3
    Linus Lüssing authored
    While this commit was a good attempt to fix issues occuring when no
    multicast querier is present, this commit still has two more issues:
    
    1) There are cases where mdb entries do not expire even if there is a
    querier present. The bridge will unnecessarily continue flooding
    multicast packets on the according ports.
    
    2) Never removing an mdb entry could be exploited for a Denial of
    Service by an attacker on the local link, slowly, but steadily eating up
    all memory.
    
    Actually, this commit became obsolete with
    "bridge: disable snooping if there is no querier" (b00589af)
    which included fixes for a few more cases.
    
    Therefore reverting the following commits (the commit stated in the
    commit message plus three of its follow up fixes):
    
    ====================
    Revert "bridge: update mdb expiration timer upon reports."
    This reverts commit f144febd.
    Revert "bridge: do not call setup_timer() multiple times"
    This reverts commit 1faabf2a.
    Revert "bridge: fix some kernel warning in multicast timer"
    This reverts commit c7e8e8a8.
    Revert "bridge: only expire the mdb entry when query is received"
    This reverts commit 9f00b2e7.
    ====================
    
    CC: Cong Wang <amwang@redhat.com>
    Signed-off-by: default avatarLinus Lüssing <linus.luessing@web.de>
    Reviewed-by: default avatarVlad Yasevich <vyasevich@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    454594f3
br_mdb.c 11 KB