Bug 147075 - IPv6 broken (xfrm_lookup: IPv4 route is stale)
Summary: IPv6 broken (xfrm_lookup: IPv4 route is stale)
Status: RESOLVED FIXED
: 147040 147206 147656 148120 148653 (view as bug list)
Alias: None
Product: SUSE Linux 10.1
Classification: openSUSE
Component: Kernel (show other bugs)
Version: Beta 2
Hardware: i386 SuSE Linux 10.0
: P5 - None : Critical (vote)
Target Milestone: ---
Assignee: Olaf Kirch
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-01-31 19:48 UTC by Jiri Bohac
Modified: 2006-02-09 11:12 UTC (History)
6 users (show)

See Also:
Found By: Other
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jiri Bohac 2006-01-31 19:48:08 UTC
I hit this with today's KOTD when doing some IPv6 testing. It's not possible to ping to offlink hosts. dmesg shows:

xfrm_lookup: IPv4 route is stale (obsolete=4294967295, loops=0)
 [<c0279deb>] xfrm_lookup+0x403/0x481
 [<e142878b>] ipv6_dev_get_saddr+0x4ff/0x585 [ipv6]
 [<e142456a>] ip6_dst_lookup+0x1e7/0x250 [ipv6]
 [<e14409a8>] ip6_datagram_connect+0x2e5/0x418 [ipv6]
 [<c022d6d5>] release_sock+0x10/0x9b
 [<c026cb37>] inet_dgram_connect+0x45/0x4e
 [<c022cbf2>] sys_connect+0x76/0x98
 [<c014db91>] fd_install+0x24/0x50
 [<c022c353>] sock_map_fd+0x10d/0x117
 [<c022bba8>] __sock_create+0x15d/0x1a2
 [<c022cd2f>] sys_socketcall+0x8c/0x19e
 [<c0102a3b>] sysenter_past_esp+0x54/0x79

I'll try to take care of this, building a test kernel with some debug printks right now. I submited it to bugzilla just in case someone else hits it as well.
Comment 1 Andreas Kleen 2006-02-01 10:20:30 UTC
*** Bug 147206 has been marked as a duplicate of this bug. ***
Comment 2 Andreas Kleen 2006-02-01 10:21:57 UTC
What happens when you use a kerneltest kernel that doesn't include that 
change yet?
-------------------------------------------------------------------
Mon Jan 30 17:23:51 CET 2006 - okir@suse.de

- patches.fixes/xfrm-endless-loop: Try to fix infinite loop in
  xfrm_lookup (117749, 115200).
Comment 3 Dirk Mueller 2006-02-01 10:53:41 UTC
the one before that patch works fine
Comment 4 Dirk Mueller 2006-02-01 10:54:08 UTC
kernel-smp-2.6.16_rc1_git3-20060130145842 (x86_64)
Comment 5 Andreas Kleen 2006-02-01 11:13:36 UTC
Ok I will drop it from CVS then for beta3 until Olaf debugs it.

Comment 6 Andreas Kleen 2006-02-01 12:27:57 UTC
*** Bug 147040 has been marked as a duplicate of this bug. ***
Comment 7 Andreas Kleen 2006-02-01 12:28:35 UTC
It's dropped.
Comment 8 Jiri Bohac 2006-02-01 13:59:53 UTC
I confirm that Olaf's patch mentioned in #2 is the culprit. I reverted the single patch and IPv6 started to work.

Olaf: I don't quite understand the difference between dst->obsolete being set to 0 and -1, but it's initialized to -1 by ip6_route_add() and that's where your check fails. Maybe you want to test for dst->obsolete > 0 instead of != 0 ?
Comment 9 Andreas Kleen 2006-02-01 15:52:45 UTC
I guess we can lower the severity since the patch is dropped now.
Maybe it would be better to reopen the original bug that lead to the 
broken patch and close this one.
Comment 10 Chris L Mason 2006-02-01 16:34:24 UTC
That would be our old friend the hanging ipsec bug.  Should still be open I think.
Comment 11 Hannes Reinecke 2006-02-02 09:15:02 UTC
Sorry, but this hits us badly on S/390 with Beta3. X11 installation via CTC is basically unuseable.
Comment 12 Olaf Kirch 2006-02-02 12:22:41 UTC
Well well well... I think I deserve this for giving in to requests to
add what was essentially a debug patch :-/

Comment 13 Jiri Bohac 2006-02-03 22:11:43 UTC
*** Bug 147656 has been marked as a duplicate of this bug. ***
Comment 14 Andreas Kleen 2006-02-04 07:48:11 UTC
*** Bug 148120 has been marked as a duplicate of this bug. ***
Comment 15 Olaf Kirch 2006-02-07 11:35:20 UTC
*** Bug 148653 has been marked as a duplicate of this bug. ***
Comment 16 Olaf Kirch 2006-02-07 11:41:20 UTC
An updated xfrm-lookup patch is now in CVS