add the ipv6 mcast fix

svn path=/dists/sid/linux-2.6/; revision=8302
This commit is contained in:
maximilian attems 2007-02-12 09:21:26 +00:00
parent f7e52bfaa5
commit b6003ea67a
3 changed files with 42 additions and 11 deletions

6
debian/changelog vendored
View File

@ -1,8 +1,10 @@
linux-2.6 (2.6.18.dfsg.1-11) UNRELEASED; urgency=low
* Back out 2.6.16 patches. (closes: #410375)
-- Bastian Blank <waldi@debian.org> Sat, 10 Feb 2007 11:17:30 +0100
[ maximilian attems ]
* Fix incomplete ipv6 patch from 2.6.16.38. (closes: #410375)
-- maximilian attems <maks@sternwelten.at> Mon, 12 Feb 2007 10:17:39 +0100
linux-2.6 (2.6.18.dfsg.1-10) unstable; urgency=low

View File

@ -0,0 +1,37 @@
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 77da3a8..e8f1441 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();
@@ -393,10 +394,6 @@ static struct inet6_dev * ipv6_add_dev(struct net_device *dev)
if (netif_carrier_ok(dev))
ndev->if_flags |= IF_READY;
- write_lock_bh(&addrconf_lock);
- dev->ip6_ptr = ndev;
- write_unlock_bh(&addrconf_lock);
-
ipv6_mc_init_dev(ndev);
ndev->tstamp = jiffies;
#ifdef CONFIG_SYSCTL
@@ -406,6 +403,13 @@ static struct inet6_dev * ipv6_add_dev(struct net_device *dev)
NULL);
addrconf_sysctl_register(ndev, &ndev->cnf);
#endif
+ write_lock_bh(&addrconf_lock);
+ 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;
}

View File

@ -1,9 +1 @@
- bugfix/2.6.16.30
- bugfix/2.6.16.31
- bugfix/2.6.16.32
- bugfix/2.6.16.33
- bugfix/2.6.16.34
- bugfix/2.6.16.35
- bugfix/2.6.16.37
- bugfix/2.6.16.38
- bugfix/2.6.16.39
+ bugfix/net-ipv6-mcast.patch