Linus Lüssing
2013-Jun-21 11:53 UTC
[Bridge] [PATCH] bridge: prevent flooding IPv6 packets that do not have a listener
Currently if there is no listener for a certain group then IPv6 packets for that group are flooded on all ports, even though there might be no host and router interested in it on a port. With this commit they are only forwarded to ports with a multicast router. Just like commit bd4265fe36 ("bridge: Only flood unregistered groups to routers") did for IPv4, let's do the same for IPv6 with the same reasoning. Signed-off-by: Linus L?ssing <linus.luessing at web.de> --- net/bridge/br_multicast.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c index 81f2389..8bdfaf5 100644 --- a/net/bridge/br_multicast.c +++ b/net/bridge/br_multicast.c @@ -1465,8 +1465,14 @@ static int br_multicast_ipv6_rcv(struct net_bridge *br, * - MLD has always Router Alert hop-by-hop option * - But we do not support jumbrograms. */ - if (ip6h->version != 6 || - ip6h->nexthdr != IPPROTO_HOPOPTS || + if (ip6h->version != 6) + return 0; + + /* Prevent flooding this packet if there is no listener present */ + if (ipv6_is_transient_multicast(&ip6h->daddr)) + BR_INPUT_SKB_CB(skb)->mrouters_only = 1; + + if (ip6h->nexthdr != IPPROTO_HOPOPTS || ip6h->payload_len == 0) return 0; -- 1.7.10.4
Linus Lüssing
2013-Jul-22 20:05 UTC
[Bridge] [PATCH] bridge: prevent flooding IPv6 packets that do not have a listener
Hi Herbert, Were there any reasons I might not be aware of which prevented you from adding the same change you introduced in "bridge: Only flood unregistered groups to routers" for IPv6, too? If not and if no one else comes up with any objection, then I'd still be happy if this patch could find its way upstream :). Cheers, Linus