2007-05-17 21:15:33

by Philip Pemberton

[permalink] [raw]
Subject: IPv6: 6to4 tunnel randomly cutting out on 2.6.8.1 - any patches?

Hi,
I'm currently trying to set IPv6 up on a Linux-based router. The
aforementioned router runs kernel 2.6.8.1, and just about all the hardware
driver modules are binary modules. For the record, I'd love to upgrade the
router to one of the newer kernels, but AIUI I can't do it because I don't
have the source to the bmods. But anyway...

What I've done is set up an IPv6 subnet via the SixXS tunnel broker (and
I've also tried the BT Exact tunnel broker, which has the same problem). This
tunnel is then routed onto my LAN and set up router advertisement (with radvd)
so the machines can get access to the IPv6 side of the Internet.

The problem is that every 10 minutes or so, the IPv6 link (apparently the
routing side as the router can still ping kame.net, but the other machines on
the LAN can't) stops working for a few seconds (between 5 and 60) and comes
back up of its own free will. Running the tunnel on another machine (with a
2.6.16 kernel) stops the problem completely - IPv6 works perfectly. But being
the energy-conscious person I am, I'd prefer to have as few machines powered
up as possible.

When IPv6 stops working, ping returns the error "sendmsg: Network is
unreachable". The intermittent nature of this issue, and the fact that IPv6
works fine when I move routing to a machine with a later kernel, leads me to
believe that this may be an old kernel bug that got fixed in a later release,
but evidently not this one...

There appear to be a number of IPv6 related fixes in 2.6.9, but the patches
are all globbed together in a single "patch-2.6.9.bz2" file - I'd like to
apply some of the more promising ones directly, and try and fix the problem
that way. The problem being that I can't find these patches as individual
"this fixes X" releases, just as one huge 'go from 2.6.8.1 to 2.6.9' glob, and
the git repository on kernel.org only seems to go back to 2.6.11.

So what I'm wondering is, does anyone know if a bug like I've described was
ever found between 2.6.8.1 and 2.6.16, and if so how it can be fixed?

Thanks.
--
Phil. | (\_/) This is Bunny. Copy and paste Bunny
[email protected] | (='.'=) into your signature to help him gain
http://www.philpem.me.uk/ | (")_(") world domination.
If mail bounces, replace "07" with the last two digits of the current year.


2007-05-17 21:34:17

by David Miller

[permalink] [raw]
Subject: Re: IPv6: 6to4 tunnel randomly cutting out on 2.6.8.1 - any patches?

From: Philip Pemberton <[email protected]>
Date: Thu, 17 May 2007 21:59:31 +0100

> I'm currently trying to set IPv6 up on a Linux-based router. The
> aforementioned router runs kernel 2.6.8.1, and just about all the hardware
> driver modules are binary modules. For the record, I'd love to upgrade the
> router to one of the newer kernels, but AIUI I can't do it because I don't
> have the source to the bmods. But anyway...

Then don't come here looking for support, because we can't
help you.

2007-05-17 21:46:36

by Philip Pemberton

[permalink] [raw]
Subject: Re: IPv6: 6to4 tunnel randomly cutting out on 2.6.8.1 - any patches?

David Miller wrote:
>> I'm currently trying to set IPv6 up on a Linux-based router. The
>> aforementioned router runs kernel 2.6.8.1, and just about all the hardware
>> driver modules are binary modules. For the record, I'd love to upgrade the
>> router to one of the newer kernels, but AIUI I can't do it because I don't
>> have the source to the bmods. But anyway...
>
> Then don't come here looking for support, because we can't
> help you.

All I said was "I can't upgrade the kernel". There's nothing stopping me
patching it, as long as nothing happens to the Ethernet and ATM driver
interface side of things - this is all protocol-layer stuff and should be well
away from the EDI. I can't honestly see why/how fixing a bug in IPv6 would
completely invalidate the way the Ethernet/ATM drivers interface with the kernel.

All I wanted to know is if if there WAS a known IPv6 routing issue in this
kernel, and then fix the kernel I've got. That would leave me with a variant
of the kernel in itself.

I'm not claiming to have found an Oops, nor am I providing an Oops log from a
tainted kernel. All I'm trying to do is find out WHY this doesn't work, IF
it's a known issue, and HOW to fix it myself.

Thanks.
--
Phil. | (\_/) This is Bunny. Copy and paste Bunny
[email protected] | (='.'=) into your signature to help him gain
http://www.philpem.me.uk/ | (")_(") world domination.
If mail bounces, replace "07" with the last two digits of the current year.

2007-05-19 07:53:22

by Jan Engelhardt

[permalink] [raw]
Subject: Re: IPv6: 6to4 tunnel randomly cutting out on 2.6.8.1 - any patches?


On May 17 2007 22:46, Philip Pemberton wrote:
>> > I'm currently trying to set IPv6 up on a Linux-based router. The
>> > aforementioned router runs kernel 2.6.8.1, and just about all the
>> > hardware driver modules are binary modules. For the record, I'd love
>> > to upgrade the router to one of the newer kernels, but AIUI I can't do
>> > it because I don't have the source to the bmods. But anyway...
>>
>> Then don't come here looking for support, because we can't
>> help you.
>
> All I said was "I can't upgrade the kernel". There's nothing stopping me
> patching it, as long as nothing happens to the Ethernet and ATM driver
> interface side of things - this is all protocol-layer stuff and should be well
> away from the EDI.

How can you tell? The binary blobs may have a glitch, flaw, bug, that
makes them write more-or-less random values to random memory locations,
thereby inadvertently killing the functionality of other modules (such
as the ipv6 tunnel).

If the bug happens without the blobs, _then_ one may start figuring out
what (non-binary) modules may cause interaction problems with the ipv6
tunnel (or if it's the tunnel module itself).


Jan
--

2007-05-19 16:48:18

by Pekka Pietikäinen

[permalink] [raw]
Subject: Re: IPv6: 6to4 tunnel randomly cutting out on 2.6.8.1 - any patches?

On Sat, May 19, 2007 at 09:52:57AM +0200, Jan Engelhardt wrote:
> >> > I'm currently trying to set IPv6 up on a Linux-based router. The
> >> > aforementioned router runs kernel 2.6.8.1, and just about all the
> >> > hardware driver modules are binary modules. For the record, I'd love
> >> > to upgrade the router to one of the newer kernels, but AIUI I can't do
> >> > it because I don't have the source to the bmods. But anyway...
> How can you tell? The binary blobs may have a glitch, flaw, bug, that
> makes them write more-or-less random values to random memory locations,
> thereby inadvertently killing the functionality of other modules (such
> as the ipv6 tunnel).
>
> If the bug happens without the blobs, _then_ one may start figuring out
> what (non-binary) modules may cause interaction problems with the ipv6
> tunnel (or if it's the tunnel module itself).
Then again, IPv6 in < 2.6.can't remember, but .8 is one of them
_was_ pretty awful. I think it started being okish around .14 or .15?

If you feel like spending lots of time, you could try to shoehorn net/*
from the latest rhel4/centos4 kernel (2.6.9-based) into your router, someone
might have spent the effort fixing the relevant bugs in that tree (but maybe
not, until the 4.5 kernel it used to spew Badness in dst_release at
include/net/dst.h:149 every few seconds if your box was on a ipv6 network :D
)

Personally, I'd get a new router without binary blobs, value of time spent
doing the shoehorning > price of new router, I'm sure, but you may value
your free time differently :)

I do know sixxs ipv6 tunnels are rock solid with openwrt (2.4-based) ;)

2007-05-19 18:13:47

by Philip Pemberton

[permalink] [raw]
Subject: Re: IPv6: 6to4 tunnel randomly cutting out on 2.6.8.1 - any patches?

Pekka Pietikainen wrote:
> If you feel like spending lots of time, you could try to shoehorn net/*
> from the latest rhel4/centos4 kernel (2.6.9-based) into your router, someone
> might have spent the effort fixing the relevant bugs in that tree (but maybe
> not, until the 4.5 kernel it used to spew Badness in dst_release at
> include/net/dst.h:149 every few seconds if your box was on a ipv6 network :D
> )

I could do that, but shoehorning 2.6.9 code into 2.6.8.1 doesn't sound like
much fun, especially transplanting the whole networking stack...

What I have found are all the IPv6-related patches from 2.6.8.1 to 2.6.9
(there aren't that many) so I might have a go at patching the kernel with them.

> Personally, I'd get a new router without binary blobs, value of time spent
> doing the shoehorning > price of new router, I'm sure, but you may value
> your free time differently :)

I've got five weeks off to do with as I please. I need something to do,
otherwise I'm going to go mad :)

> I do know sixxs ipv6 tunnels are rock solid with openwrt (2.4-based) ;)

Hmm, I've got a source pack for a version of the DG834GT firmware that was
based on an older kernel (2.4.17) - is IPv6 in 2.4.17 generally considered to
be quite stable?

If it is, I'll have a go at shoehorning my RC scripts onto the older firmware
and maybe try and transplant the ADSL line controller firmware too...

Thanks.
--
Phil. | (\_/) This is Bunny. Copy and paste Bunny
[email protected] | (='.'=) into your signature to help him gain
http://www.philpem.me.uk/ | (")_(") world domination.
If mail bounces, replace "07" with the last two digits of the current year.