[LINUX] Kernel should not send out IPv6 autoconfig multicast

packets if the interface is not marked as multicast-capable.
Signed-off-by: Gerd Hoffmann <kraxel@suse.de>
This commit is contained in:
kaf24@firebug.cl.cam.ac.uk committed 2006-06-17 08:42:31 +01:00
1 parent ac85f84b53
commit e22b1a8b80
1 file changed
+23
@@ -0,0 +1,23 @@
net/ipv6/addrconf.c | 2 ++
1 files changed, 2 insertions(+)
Index: build/net/ipv6/addrconf.c
===================================================================
--- build.orig/net/ipv6/addrconf.c
+++ build/net/ipv6/addrconf.c
@@ -2462,6 +2462,7 @@ static void addrconf_dad_start(struct in
spin_lock_bh(&ifp->lock);
if (dev->flags&(IFF_NOARP|IFF_LOOPBACK) ||
+ !(dev->flags&IFF_MULTICAST) ||
!(ifp->flags&IFA_F_TENTATIVE)) {
ifp->flags &= ~IFA_F_TENTATIVE;
spin_unlock_bh(&ifp->lock);
@@ -2546,6 +2547,7 @@ static void addrconf_dad_completed(struc
if (ifp->idev->cnf.forwarding == 0 &&
ifp->idev->cnf.rtr_solicits > 0 &&
(dev->flags&IFF_LOOPBACK) == 0 &&
+ (dev->flags & IFF_MULTICAST) &&
(ipv6_addr_type(&ifp->addr) & IPV6_ADDR_LINKLOCAL)) {
struct in6_addr all_routers;
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.