]> git.baikalelectronics.ru Git - kernel.git/commit
Revert "bridge: only expire the mdb entry when query is received"
authorLinus Lüssing <linus.luessing@web.de>
Sat, 19 Oct 2013 22:58:57 +0000 (00:58 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 22 Oct 2013 18:41:02 +0000 (14:41 -0400)
commit4da43eec228c249f5aafd701f28af337b428e81d
tree5a3109ffdd29aed110e7cd5e4295dfe0246595fd
parent7c4fefbbe92e143f8a3f0dfa369069ea986ece81
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>
net/bridge/br_mdb.c
net/bridge/br_multicast.c
net/bridge/br_private.h