Re: mmotm 2010-03-23 - IPv6 warnings...

3 messages, 2 authors, 2010-03-26 · open the first message on its own page

Re: mmotm 2010-03-23 - IPv6 warnings...

From: <hidden>
Date: 2010-03-25 16:46:17

On Wed, 24 Mar 2010 18:42:26 EDT, Andrew Morton said:
On Wed, 24 Mar 2010 21:36:41 -0400 Valdis.Kletnieks@vt.edu wrote:
quoted
On Tue, 23 Mar 2010 15:34:59 PDT, akpm@linux-foundation.org said:
quoted
The mm-of-the-moment snapshot 2010-03-23-15-34 has been uploaded to

   http://userweb.kernel.org/~akpm/mmotm/
Seen in my dmesg.  It may be relevant that I'm at home, and my IPv6
prefix arrives via a PPP VPN connection. This happened about 20-25 seconds
after I launched pppd.
Yes, thanks, I get the same - it doesn't seem to break anything.  It
also happens some time after boot has completed.
Just doing an 'ifup eth0' on a network with IPv6 on it is sufficient.

And it does break stuff:

% ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:24:E8:C6:AD:17  
          inet addr:128.173.14.107  Bcast:128.173.15.255  Mask:255.255.252.0
          inet6 addr: fe80::224:e8ff:fec6:ad17/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

With 2.6.34-rc1-mmotm0309, I see:

% ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:24:E8:C6:AD:17  
          inet addr:128.173.14.107  Bcast:128.173.15.255  Mask:255.255.252.0
          inet6 addr: 2001:468:c80:2103:224:e8ff:fec6:ad17/64 Scope:Global
          inet6 addr: fe80::224:e8ff:fec6:ad17/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

Something ate my IPv6 address.  We run a lot of IPv6 in production, so stuff
is acting wonky.

Re: mmotm 2010-03-23 - IPv6 warnings...

From: David Miller <davem@davemloft.net>
Date: 2010-03-25 20:24:57

From: Valdis.Kletnieks@vt.edu
Date: Thu, 25 Mar 2010 12:45:30 -0400
On Wed, 24 Mar 2010 18:42:26 EDT, Andrew Morton said:
quoted
On Wed, 24 Mar 2010 21:36:41 -0400 Valdis.Kletnieks@vt.edu wrote:
quoted
On Tue, 23 Mar 2010 15:34:59 PDT, akpm@linux-foundation.org said:
quoted
The mm-of-the-moment snapshot 2010-03-23-15-34 has been uploaded to

   http://userweb.kernel.org/~akpm/mmotm/
Seen in my dmesg.  It may be relevant that I'm at home, and my IPv6
prefix arrives via a PPP VPN connection. This happened about 20-25 seconds
after I launched pppd.
Yes, thanks, I get the same - it doesn't seem to break anything.  It
also happens some time after boot has completed.
Just doing an 'ifup eth0' on a network with IPv6 on it is sufficient.
I'm going to look into this more deeply tonight.

Re: mmotm 2010-03-23 - IPv6 warnings...

From: David Miller <davem@davemloft.net>
Date: 2010-03-26 04:40:30

From: Valdis.Kletnieks@vt.edu
Date: Thu, 25 Mar 2010 12:45:30 -0400
On Wed, 24 Mar 2010 18:42:26 EDT, Andrew Morton said:
quoted
On Wed, 24 Mar 2010 21:36:41 -0400 Valdis.Kletnieks@vt.edu wrote:
quoted
On Tue, 23 Mar 2010 15:34:59 PDT, akpm@linux-foundation.org said:
quoted
The mm-of-the-moment snapshot 2010-03-23-15-34 has been uploaded to

   http://userweb.kernel.org/~akpm/mmotm/
Seen in my dmesg.  It may be relevant that I'm at home, and my IPv6
prefix arrives via a PPP VPN connection. This happened about 20-25 seconds
after I launched pppd.
Yes, thanks, I get the same - it doesn't seem to break anything.  It
also happens some time after boot has completed.
Just doing an 'ifup eth0' on a network with IPv6 on it is sufficient.
I just checked the following into net-next-2.6 which should at least
kill that dmesg log.

If you still are missing your ipv6 addresses, let me know how
they normally get added, maybe that's enough to let me figure
it out.

Thanks.

ipv6: Fix result generation in ipv6_get_ifaddr().

Finishing naturally from hlist_for_each_entry(x, ...) does not result
in 'x' being NULL.

Signed-off-by: David S. Miller <davem@davemloft.net>
---
 net/ipv6/addrconf.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 9995683..21b4c9e 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -1341,9 +1341,9 @@ EXPORT_SYMBOL(ipv6_chk_prefix);
 struct inet6_ifaddr *ipv6_get_ifaddr(struct net *net, const struct in6_addr *addr,
 				     struct net_device *dev, int strict)
 {
-	struct inet6_ifaddr *ifp = NULL;
-	struct hlist_node *node;
+	struct inet6_ifaddr *ifp, *result = NULL;
 	unsigned int hash = ipv6_addr_hash(addr);
+	struct hlist_node *node;
 
 	rcu_read_lock_bh();
 	hlist_for_each_entry_rcu(ifp, node, &inet6_addr_lst[hash], addr_lst) {
@@ -1352,6 +1352,7 @@ struct inet6_ifaddr *ipv6_get_ifaddr(struct net *net, const struct in6_addr *add
 		if (ipv6_addr_equal(&ifp->addr, addr)) {
 			if (dev == NULL || ifp->idev->dev == dev ||
 			    !(ifp->scope&(IFA_LINK|IFA_HOST) || strict)) {
+				result = ifp;
 				in6_ifa_hold(ifp);
 				break;
 			}
@@ -1359,7 +1360,7 @@ struct inet6_ifaddr *ipv6_get_ifaddr(struct net *net, const struct in6_addr *add
 	}
 	rcu_read_unlock_bh();
 
-	return ifp;
+	return result;
 }
 
 /* Gets referenced address, destroys ifaddr */
-- 
1.7.0.3
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help