Commit a615d90f authored by YOSHIFUJI Hideaki's avatar YOSHIFUJI Hideaki Committed by Adrian Bunk

[IPV6] Fix joining all-node multicast group.

Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
parent 12f5aa08
...@@ -321,6 +321,7 @@ void in6_dev_finish_destroy(struct inet6_dev *idev) ...@@ -321,6 +321,7 @@ void in6_dev_finish_destroy(struct inet6_dev *idev)
static struct inet6_dev * ipv6_add_dev(struct net_device *dev) static struct inet6_dev * ipv6_add_dev(struct net_device *dev)
{ {
struct inet6_dev *ndev; struct inet6_dev *ndev;
struct in6_addr maddr;
ASSERT_RTNL(); ASSERT_RTNL();
...@@ -406,6 +407,9 @@ static struct inet6_dev * ipv6_add_dev(struct net_device *dev) ...@@ -406,6 +407,9 @@ static struct inet6_dev * ipv6_add_dev(struct net_device *dev)
dev->ip6_ptr = ndev; dev->ip6_ptr = ndev;
write_unlock_bh(&addrconf_lock); write_unlock_bh(&addrconf_lock);
/* Join all-node multicast group */
ipv6_addr_all_nodes(&maddr);
ipv6_dev_mc_inc(dev, &maddr);
} }
return ndev; return ndev;
} }
......
...@@ -2252,8 +2252,6 @@ void ipv6_mc_up(struct inet6_dev *idev) ...@@ -2252,8 +2252,6 @@ void ipv6_mc_up(struct inet6_dev *idev)
void ipv6_mc_init_dev(struct inet6_dev *idev) void ipv6_mc_init_dev(struct inet6_dev *idev)
{ {
struct in6_addr maddr;
write_lock_bh(&idev->lock); write_lock_bh(&idev->lock);
rwlock_init(&idev->mc_lock); rwlock_init(&idev->mc_lock);
idev->mc_gq_running = 0; idev->mc_gq_running = 0;
...@@ -2269,10 +2267,6 @@ void ipv6_mc_init_dev(struct inet6_dev *idev) ...@@ -2269,10 +2267,6 @@ void ipv6_mc_init_dev(struct inet6_dev *idev)
idev->mc_maxdelay = IGMP6_UNSOLICITED_IVAL; idev->mc_maxdelay = IGMP6_UNSOLICITED_IVAL;
idev->mc_v1_seen = 0; idev->mc_v1_seen = 0;
write_unlock_bh(&idev->lock); write_unlock_bh(&idev->lock);
/* Add all-nodes address. */
ipv6_addr_all_nodes(&maddr);
ipv6_dev_mc_inc(idev->dev, &maddr);
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment