summaryrefslogtreecommitdiff
path: root/net/ipv6/addrconf.c
diff options
context:
space:
mode:
authorYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>2007-01-18 16:11:56 +0100
committerAdrian Bunk <bunk@stusta.de>2007-01-18 16:11:56 +0100
commita615d90f7e20de92ff59d3825f62aa7c1199dba8 (patch)
treef2ada7d478644e5547a0908836788687615108b0 /net/ipv6/addrconf.c
parent12f5aa0834c6f2d55382daed856af509cd54b9f6 (diff)
[IPV6] Fix joining all-node multicast group.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Diffstat (limited to 'net/ipv6/addrconf.c')
-rw-r--r--net/ipv6/addrconf.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index c5005b23ec05..e8f144171880 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -321,6 +321,7 @@ void in6_dev_finish_destroy(struct inet6_dev *idev)
static struct inet6_dev * ipv6_add_dev(struct net_device *dev)
{
struct inet6_dev *ndev;
+ struct in6_addr maddr;
ASSERT_RTNL();
@@ -406,6 +407,9 @@ static struct inet6_dev * ipv6_add_dev(struct net_device *dev)
dev->ip6_ptr = ndev;
write_unlock_bh(&addrconf_lock);
+ /* Join all-node multicast group */
+ ipv6_addr_all_nodes(&maddr);
+ ipv6_dev_mc_inc(dev, &maddr);
}
return ndev;
}