Revert "bridge: only expire the mdb entry when query is received"
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" (
adc2c3e416)
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
56f1d3fc9ac8b2c38c74e963544ec88077f32eb9.
Revert "bridge: do not call setup_timer() multiple times"
This reverts commit
3d884fa4a309eaee9427c8ad3e90d698f3ceffdf.
Revert "bridge: fix some kernel warning in multicast timer"
This reverts commit
5c695f8f49a9e7a89b9f410a6e21ce134384afed.
Revert "bridge: only expire the mdb entry when query is received"
This reverts commit
13ec12fbec01d5f0394136f6f514c01aa8a14d9c.
====================
CC: Cong Wang <amwang@redhat.com>
Signed-off-by: Linus Lüssing <linus.luessing@web.de>
Reviewed-by: Vlad Yasevich <vyasevich@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>