OpenSuse 12.2, IPV6 Failing, Routing Table Overflowing, 10 year old problem back again?

I am running OpenSuse 12.2, and have been running it and previous OpenSuse versions for some time without issue.

Linux c8a 3.4.33-2.24-xen #1 SMP Tue Feb 26 03:34:33 UTC 2013 (5f00a32) x86_64 x86_64 x86_64 GNU/Linux

Starting a few weeks ago, I am seeing behavior in which IPV6 connectivity suddenly dies. This typically happens after
about 2 days of uptime. IPV4 is unaffected. When IPV6 dies, all attempts to connect out to any IPV6 addresses result
in “network unreachable”. The default gateway is still in place, but the ipv6 routing table appears to be filled with individual
routes to various hosts. Once IPV6 fails, I am unable to delete routes, or add routes, or modify the routing table in any way.
I get the following message:
SIOCADDRT: Cannot allocate memory

The problem that I am having, now, appears to be identical to a similar problem reported ten years ago here:

https://lists.linux-foundation.org/pipermail/bugme-new/2003-May/008538.html

However, I am not running 10-year-old linux, I’m running OpenSuse 12.2 with all updates applied.

Like the previous report, if I increase /proc/sys/net/ipv6/route/max_size above its default of 4096, my IPV6
connectivity is immediately restored. I can delete the bogus routes, and operate again. However, that’s only
a short fix - within hours the IPV6 network drops off again, and I am back to “network unreachable.”

Trying to restart networking, e.g. /etc/init.d/network stop; start, does not resolve the problem or restore
connectivity. Only a full reboot of the (virtual) server restores connectivity. (This is a Xen guest machine
running solo on an identically-configured Xen physical host. The guest handles all of the work and internet
traffic. The problem seems only to be on the guest machine, the physical host is unaffected.) I will also
mention that I have other identically-configured hot-standby backup host/guest pairs… they are also
unaffected but they do not handle any operational traffic. The problem seems limited to a high-traffic,
operational machine.

I have spent literally days looking for answers to this problem, and indeed for any other posts related to
this problem. I cannot believe that I’m experiencing a ghost problem from 10 years ago, and yet my symptoms
seem identical.

Could anyone familiar with IPV6 or routing please point me in the direction of a solution?

Thank you in advance!

Glen Barney

On 05/17/2013 02:36 AM, glenbarney wrote:
> anyone familiar with IPV6 or routing please point me

hmmmm, i’m mostly unfamiliar but it sure sounds like you might have
an old bug in a new box…

-=WELCOME=- new poster! sorry you are having this trouble.

i’d suggest you do one (or more) of four possible things:

-hang out here through the sleep cycles of all earth and see if your
GREAT subject line attracts someone in this forum with a good idea!

-jump onto IRC (where the devs hang out–this forum is volunteer
users helping other users, and not everyone here has the depth of
knowledge you probably need) before the weekend hits

-post to the openSUSE mail list, where those and other devs,
sysadmins and authentic gurus aplenty are often found.

-log the (suspected) bug into bugzilla. (but, personally i’d wait for
other input prior to that) begin here: http://tinyurl.com/nzhq7j and
the ID/Pass used here will let you in there…

note 1: i am NOT saying that this forum has no real networking gurus!
we have plenty (not me) just that it is sometimes necessary to wait
for any of those to wake up and drive through (or come back from
holiday!).

note 2: find the pathway to both IRC and mail lists here:
http://en.opensuse.org/openSUSE:Communication_channels

and please, when you have the answer return here and post it (so
ten years from now google will find it!)

again, WELCOME…


dd
http://tinyurl.com/DD-Caveat

Thank you for your kind email, and helpful pointers!

I am not sure this is a solution or not, but I seem to have been able to make it stop.

I am fed a native IPV6 address block by a Cisco router. My prefix length is /56. So my
dmesg had previously been filling up with “invalid prefix length” messages. Some advice here:

Annoying Linux IPv6 advertise detection

suggested making these changes:

echo 0 > /proc/sys/net/ipv6/conf/eth0/accept_ra
echo 0 > /proc/sys/net/ipv6/conf/eth0/autoconf

which I did, and which worked, and has been working forever. (I had made the appropriate
changes in /etc/sysctl.conf to make these settings permanent, and had added entries for
“all” and “default” as well.)

My IPV6 fail problem appears to have started roughly around the time of the last kernel
update sent out. (I can’t “prove” that because I didn’t “know” it was failing until just a
few days ago… but I have had these settings in for at least a couple of years with the same
high traffic loads and no prior problems… so I’m guessing.)

And yet other machines on my network with different OpenSuse versions and kernels are
not exhibiting this problem.

So just on a whim, since this was related to my routing table filling up with noise, I
thought, “I can’t do autoconfiguration on a /56, but maybe if I accepted “router advertisements”
that might make the situation better [or worse]”. (Basically I was just beating on it to see
what happened.)

So I did:

echo 1 > /proc/sys/net/ipv6/conf/eth0/accept_ra

and took the associated line out of my /etc/sysctl.conf (letting it return to the default of “1”).

Well, that fixed it. At least so far. Prior to making that change, running:

netstat --inet6 -rn | wc -l

would show a slow-but-steadily-increasing number, increasing by about 100 an hour on an
unstable line until overflow finally occurred and killed me.

After making the change (and rebooting for good measure), my dmesg log is still clear, but
my routing table size (as shown by the above command) is holding steady at around 32…
just like the other machines on the network.

So I guess that solved it! SOLUTION: CHECK FOR AND REMOVE LEGACY OVERRIDE
SETTINGS IN /etc/sysctl.conf . Although I still don’t know why that problem would suddenly
surface now, after years of “just working.” (And further research on newer sites shows that
getting rid of the dmesg entries does indeed only require disabling autoconf, and not router
advertisements, so that seems sound to me!)

Anyhow, thanks again for your kindness in responding, and I hope this information helps
someone else someday!

Best regards,
Glen

On 05/18/2013 01:06 AM, glenbarney wrote:
> thanks again for your kindness in responding,

you are very welcome…

> and I hope this information helps someone else someday!

THANK YOU…i think the info will be helpful, and i hope a developer
reads it … someday…


dd
openSUSE®, the “German Engineered Automobile” of operating systems!