ipv6 mcast: Do not join device multicast for interface-local multicasts.
Subsystems (3)
PATCH 1/1 ipv6 mcast: Do not join device multicast for interface-local multicasts.
RFC4291 (IPv6 addressing architecture) says that interface-Local scope spans only a single interface on a node. We should not join L2 device multicast list for addresses in interface-local (or smaller) scope.
--- net/ipv6/mcast.c | 8 ++++++++ 1 file changed, 8 insertions(+)
net/ipv6/mcast.c +8 -0
@@ -661,6 +661,10 @@ static void igmp6_group_added(struct ifmcaddr6 *mc)struct net_device *dev = mc->idev->dev;char buf[MAX_ADDR_LEN ]; +if (IPV6_ADDR_MC_SCOPE (&mc->mca_addr) < +IPV6_ADDR_SCOPE_LINKLOCAL ) +return ; +spin_lock_bh (&mc->mca_lock);if (!(mc->mca_flags&MAF_LOADED )) { mc->mca_flags |=MAF_LOADED ;
@@ -687,6 +691,10 @@ static void igmp6_group_dropped(struct ifmcaddr6 *mc)struct net_device *dev = mc->idev->dev;char buf[MAX_ADDR_LEN ]; +if (IPV6_ADDR_MC_SCOPE (&mc->mca_addr) < +IPV6_ADDR_SCOPE_LINKLOCAL ) +return ; +spin_lock_bh (&mc->mca_lock);if (mc->mca_flags&MAF_LOADED ) { mc->mca_flags &= ~MAF_LOADED ;
Signature · 1 line
1.7.9.5
Quoted 5 lines · YOSHIFUJI Hideaki
RFC4291 (IPv6 addressing architecture) says that interface-Local scope spans only a single interface on a node. We should not join L2 device multicast list for addresses in interface-local (or smaller) scope.
Signed-off-by YOSHIFUJI Hideaki <[email protected]>
Had this patch in my tree while testing and it is definitely the right thing to do:
From: YOSHIFUJI Hideaki <[email protected]>
Date: Sat, 09 Feb 2013 23:29:58 +0900
Quoted 5 lines
RFC4291 (IPv6 addressing architecture) says that interface-Local scope spans only a single interface on a node. We should not join L2 device multicast list for addresses in interface-local (or smaller) scope.
Signed-off-by YOSHIFUJI Hideaki <[email protected]>
Applied.