bridge: Fix IPv6 multicast snooping by storing correct protocol type
authorLinus Lüssing <linus.luessing@web.de>
Tue, 15 Feb 2011 13:19:17 +0000 (13:19 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 22 Feb 2011 18:07:26 +0000 (10:07 -0800)
The protocol type for IPv6 entries in the hash table for multicast
bridge snooping is falsely set to ETH_P_IP, marking it as an IPv4
address, instead of setting it to ETH_P_IPV6, which results in negative
look-ups in the hash table later.

Signed-off-by: Linus Lüssing <linus.luessing@web.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_multicast.c

index 09d5c098792562655e19c8e66a13f89684534a5a..17708fccf1ee91f2c9d563e2a19f2eadd79d0c9a 100644 (file)
@@ -784,7 +784,7 @@ static int br_ip6_multicast_add_group(struct net_bridge *br,
                return 0;
 
        ipv6_addr_copy(&br_group.u.ip6, group);
-       br_group.proto = htons(ETH_P_IP);
+       br_group.proto = htons(ETH_P_IPV6);
 
        return br_multicast_add_group(br, port, &br_group);
 }