netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [Bugme-new] [Bug 7817] New: commit edfe21a29b1dca9ce5a938317868066d2e21c385 breaks IPv6 address autoconfiguration
       [not found] <200701131344.l0DDidDq007345@fire-2.osdl.org>
@ 2007-01-13 21:45 ` Andrew Morton
  2007-01-14 18:56   ` [PATCH] [IPV6] MCAST: Fix joining all-node multicast group on device initialization YOSHIFUJI Hideaki / 吉藤英明
  2007-01-15  4:47   ` [Bugme-new] [Bug 7817] New: commit edfe21a29b1dca9ce5a938317868066d2e21c385 breaks IPv6 address autoconfiguration Pekka Savola
  0 siblings, 2 replies; 3+ messages in thread
From: Andrew Morton @ 2007-01-13 21:45 UTC (permalink / raw)
  To: netdev; +Cc: yoshfuji, gernoth, bugme-daemon@kernel-bugs.osdl.org

> On Sat, 13 Jan 2007 05:44:39 -0800 bugme-daemon@bugzilla.kernel.org wrote:
> http://bugzilla.kernel.org/show_bug.cgi?id=7817
> 
>            Summary: commit edfe21a29b1dca9ce5a938317868066d2e21c385 breaks
>                     IPv6 address autoconfiguration
>     Kernel Version: 2.6.19.2
>             Status: NEW
>           Severity: high
>              Owner: yoshfuji@linux-ipv6.org
>          Submitter: gernoth@informatik.uni-erlangen.de
> 
> 
> Most recent kernel where this bug did *NOT* occur: 2.6.19.1
> Distribution: Debian Testing
> Hardware Environment: About 100 different x86 boxes
> Software Environment: no special software involved, just the kernel. No modules are loaded on the 
> affected machines (everything needed is built into the kernel)
> 
> Problem Description:
> After booting kernel 2.6.19.2 on our machines they no longer do IPv6 address autoconfiguration, 
> although router advertisments can be seen on that interface:
> 14:19:14.254410 fe80::212:1eff:fe08:e040 > ip6-allnodes: icmp6: router advertisement(chlim=64, 
> pref=medium, router_ltime=1800, reachable_time=0, retrans_time=0)(src lladdr: 00:12:1e:08:e0:40)
> [ndp opt] (len 56, hlim 255)
> 
> ip -6 addr output is:
> 1: eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qlen 1000
>     inet6 fe80::209:3dff:fe10:ccda/64 scope link
>        valid_lft forever preferred_lft forever
> 2: eth1: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qlen 1000
>     inet6 fe80::209:3dff:fe10:ccdb/64 scope link
>        valid_lft forever preferred_lft forever
> 3: lo: <LOOPBACK,UP,10000> mtu 16436
>     inet6 ::1/128 scope host
>        valid_lft forever preferred_lft forever
> (eth0 sees the advertisments)
> 
> Manually setting the address and default-route works.
> Reverting commit edfe21a29b1dca9ce5a938317868066d2e21c385 fixes this problem.
> 
> Steps to reproduce:
> 1. Upgrade to 2.6.19.2
> 2. Configure an interface for IPv4
> 3. The linklocal IPv6 address for the interface appears in ip -6 addr
> 4. Wait for a router advertisment
> 5. No Global IPv6 address and no IPv6 default route is set
> 
> ------- You are receiving this mail because: -------
> You are on the CC list for the bug, or are watching someone who is.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH] [IPV6] MCAST: Fix joining all-node multicast group on device initialization.
  2007-01-13 21:45 ` [Bugme-new] [Bug 7817] New: commit edfe21a29b1dca9ce5a938317868066d2e21c385 breaks IPv6 address autoconfiguration Andrew Morton
@ 2007-01-14 18:56   ` YOSHIFUJI Hideaki / 吉藤英明
  2007-01-15  4:47   ` [Bugme-new] [Bug 7817] New: commit edfe21a29b1dca9ce5a938317868066d2e21c385 breaks IPv6 address autoconfiguration Pekka Savola
  1 sibling, 0 replies; 3+ messages in thread
From: YOSHIFUJI Hideaki / 吉藤英明 @ 2007-01-14 18:56 UTC (permalink / raw)
  To: davem; +Cc: netdev, gernoth, yoshfuji

[IPV6] MCAST: Fix joining all-node multicast group on device initialization.

Join all-node multicast group after assignment of dev->ip6_ptr
because it must be assigned when ipv6_dev_mc_inc() is called.
This fixes Bug#7817, reported by <gernoth@informatik.uni-erlangen.de>.

Closes: 7817
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>

diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 171e5b5..2a7e461 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -341,6 +341,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();
 
@@ -425,6 +426,11 @@ static struct inet6_dev * ipv6_add_dev(struct net_device *dev)
 #endif
 	/* protected by rtnl_lock */
 	rcu_assign_pointer(dev->ip6_ptr, ndev);
+
+	/* Join all-node multicast group */
+	ipv6_addr_all_nodes(&maddr);
+	ipv6_dev_mc_inc(dev, &maddr);
+
 	return ndev;
 }
 
diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c
index a1c231a..882cde4 100644
--- a/net/ipv6/mcast.c
+++ b/net/ipv6/mcast.c
@@ -2258,8 +2258,6 @@ void ipv6_mc_up(struct inet6_dev *idev)
 
 void ipv6_mc_init_dev(struct inet6_dev *idev)
 {
-	struct in6_addr maddr;
-
 	write_lock_bh(&idev->lock);
 	rwlock_init(&idev->mc_lock);
 	idev->mc_gq_running = 0;
@@ -2275,10 +2273,6 @@ void ipv6_mc_init_dev(struct inet6_dev *idev)
 	idev->mc_maxdelay = IGMP6_UNSOLICITED_IVAL;
 	idev->mc_v1_seen = 0;
 	write_unlock_bh(&idev->lock);
-
-	/* Add all-nodes address. */
-	ipv6_addr_all_nodes(&maddr);
-	ipv6_dev_mc_inc(idev->dev, &maddr);
 }
 
 /*

-- 
YOSHIFUJI Hideaki @ USAGI Project  <yoshfuji@linux-ipv6.org>
GPG-FP  : 9022 65EB 1ECF 3AD1 0BDF  80D8 4807 F894 E062 0EEA

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Bugme-new] [Bug 7817] New: commit edfe21a29b1dca9ce5a938317868066d2e21c385 breaks IPv6 address autoconfiguration
  2007-01-13 21:45 ` [Bugme-new] [Bug 7817] New: commit edfe21a29b1dca9ce5a938317868066d2e21c385 breaks IPv6 address autoconfiguration Andrew Morton
  2007-01-14 18:56   ` [PATCH] [IPV6] MCAST: Fix joining all-node multicast group on device initialization YOSHIFUJI Hideaki / 吉藤英明
@ 2007-01-15  4:47   ` Pekka Savola
  1 sibling, 0 replies; 3+ messages in thread
From: Pekka Savola @ 2007-01-15  4:47 UTC (permalink / raw)
  To: netdev

On Sat, 13 Jan 2007, Andrew Morton wrote:
>> On Sat, 13 Jan 2007 05:44:39 -0800 bugme-daemon@bugzilla.kernel.org wrote:
>> http://bugzilla.kernel.org/show_bug.cgi?id=7817
>>
>>            Summary: commit edfe21a29b1dca9ce5a938317868066d2e21c385 breaks
>>                     IPv6 address autoconfiguration
>>     Kernel Version: 2.6.19.2
>>             Status: NEW
>>           Severity: high
>>              Owner: yoshfuji@linux-ipv6.org
>>          Submitter: gernoth@informatik.uni-erlangen.de
>>
>>
>> Most recent kernel where this bug did *NOT* occur: 2.6.19.1
>> Distribution: Debian Testing
>> Hardware Environment: About 100 different x86 boxes
>> Software Environment: no special software involved, just the kernel. No modules are loaded on the
>> affected machines (everything needed is built into the kernel)
>>

I got hit by this as well.  2.6.20rc4-git4 is also affected.

-- 
Pekka Savola                 "You each name yourselves king, yet the
Netcore Oy                    kingdom bleeds."
Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-01-15  4:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <200701131344.l0DDidDq007345@fire-2.osdl.org>
2007-01-13 21:45 ` [Bugme-new] [Bug 7817] New: commit edfe21a29b1dca9ce5a938317868066d2e21c385 breaks IPv6 address autoconfiguration Andrew Morton
2007-01-14 18:56   ` [PATCH] [IPV6] MCAST: Fix joining all-node multicast group on device initialization YOSHIFUJI Hideaki / 吉藤英明
2007-01-15  4:47   ` [Bugme-new] [Bug 7817] New: commit edfe21a29b1dca9ce5a938317868066d2e21c385 breaks IPv6 address autoconfiguration Pekka Savola

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).