]> 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)
commit6277a6adae6e5a303f1744d0ed62000d03af45b7
tree5a3109ffdd29aed110e7cd5e4295dfe0246595fd
parentfd01f52710a2a5050bad26e298da2820df8971a9
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" (5231d8c6ad)
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 a28577ef876f7a6deacde157cf536d0590847ffa.
Revert "bridge: do not call setup_timer() multiple times"
This reverts commit cfddccf711b795da756262704e93caa7652ad466.
Revert "bridge: fix some kernel warning in multicast timer"
This reverts commit 694e988d990e488d0c8b3a128ef37958d6ac6baf.
Revert "bridge: only expire the mdb entry when query is received"
This reverts commit 7be4f9fcd80b5692089fdab757f001210293b978.
====================

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