ipv6: Make MLD packets to only be processed locally
[ Upstream commit 4c938d22c88a9ddccc8c55a85e0430e9c62b1ac5 ] Before commitdaad151263("ipv6: Make ipv6_is_mld() inline and use it from ip6_mc_input().") MLD packets were only processed locally. After the change, a copy of MLD packet goes through ip6_mr_input, causing MRT6MSG_NOCACHE message to be generated to user space. Make MLD packet only processed locally. Fixes:daad151263("ipv6: Make ipv6_is_mld() inline and use it from ip6_mc_input().") Signed-off-by: Hermin Anggawijaya <hermin.anggawijaya@alliedtelesis.co.nz> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
9f6191daa5
commit
3b9393dc1d
@@ -325,10 +325,10 @@ int ip6_mc_input(struct sk_buff *skb)
|
||||
if (offset < 0)
|
||||
goto out;
|
||||
|
||||
if (!ipv6_is_mld(skb, nexthdr, offset))
|
||||
goto out;
|
||||
if (ipv6_is_mld(skb, nexthdr, offset))
|
||||
deliver = true;
|
||||
|
||||
deliver = true;
|
||||
goto out;
|
||||
}
|
||||
/* unknown RA - process it normally */
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user