https://bugzilla.novell.com/show_bug.cgi?id=779529 https://bugzilla.novell.com/show_bug.cgi?id=779529#c0 Summary: IP V6 problems with routing and Neighbor table entries Classification: openSUSE Product: openSUSE 12.2 Version: Final Platform: 64bit OS/Version: openSUSE 12.2 Status: NEW Severity: Normal Priority: P5 - None Component: Kernel AssignedTo: kernel-maintainers@forge.provo.novell.com ReportedBy: kris-suse@koehntopp.de QAContact: qa-bugs@suse.de Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1 I am running a stock opensuse 12.2 on a dedicated server at strato. The server loses routes on V6, not on V4, after a few minutes, dropping me out of IRC. Below is a chat log with information on debugging and fixing the problem. Two issues happen: 1. Default route ::/0 -> fe80::1 is now necessary. An older opensuse 10.2 with a 2.6 line kernel does not require that, but picks up router advertisements automatically. 2. The neighbor table entries for the router need to be pinned manually in order for the routes not to vanish, because the entries go to DELAY and STALE otherwise. Chat log translated from original german: Zugschlus: Strato-Dedi? Zugschlus: You need to manually set a default route to fe80::1. The two routes to fe80::2 and fe80::3 you are learning are erraneous, coming from the networking equipment. You will only learn them if you are asking for them (and an unpatched linux will do that only once at boot time and then never again). Zugschlus: As soon as that expires the default route is gone. Zugschlus: Also, a current Linux has the habit of not refreshing its neighbor table, so the neighbor entry of the default gw will eventually go STALE. That's why I am at the moment setting up the neighbor table manually. Isotopp: Yes, Strato Dedi. Zugschlus: Ok, then the explaination above is valid. Isotopp: In the debug session with stargazer, I made a manual default route ::/0 -> fe80::1. That seems to work. Anything else I have to do? Zugschlus: This default route cannot be set at boot, because Linux claims to have one already. You'll have to wait for the wrongly learned fe80::2 and fe80::3 to expire, or set one for 2000/3 - that's more specific and contains everything used at the moment. Zugschlus: If you have problems during times of low load, you'll need to manually fix the neighbor table entry (I am having that problem on systems with newer kernels). Isotopp: Yes, fe80::2 and ::3 are gone. Isotopp: I am assuming that a 'Neighbor table entry' is what v6 has instead of ARP? Zugschlus: exactly. 'ip neigh' Isotopp: h1755802:/etc/sysconfig/network # ip -6 neigh show Isotopp: fe80::1 dev eth0 lladdr 00:05:73:a0:00:01 router DELAY Zugschlus: If it says 'DELAY' or 'STALE' something is broken. Zugschlus: DELAY is the pre-stage of 'broken'. Isotopp: Then it is broken. Zugschlus: If you are pinging, the problem will not occur. Which is great for debug. Isotopp: Yes, I had a ping6 running over night. How to I make that permanent? Zugschlus: Let's test for the problem first. Zugschlus: while sleep 5; do ip -6 neigh show; done in a screen and detach. Zugschlus: Then check back later Zugschlus: In irc, you'll have hanging sessions for 10-20s like on a bad 3G Isotopp: Then I am affected. Isotopp: h1755802:~ # while sleep 5; do ip -6 neigh show; done Isotopp: fe80::1 dev eth0 lladdr 00:05:73:a0:00:01 router REACHABLE Isotopp: fe80::1 dev eth0 lladdr 00:05:73:a0:00:01 router DELAY Isotopp: fe80::1 dev eth0 lladdr 00:05:73:a0:00:01 router STALE Zugschlus: ip neigh replace fe80::1 dev eth0 lladdr 00:05:73:a0:00:01 nud permanent Zugschlus: That will explode if the MAC of the GW ever changes. Isotopp: Linux kernel problem? And timeout wrong, or behavior wrong? Zugschlus: But thanks for proving that it is not my self-compiled kernel that's broken. It broke somewhere between 3.1 and 3.3. What are you running? Isotopp: fe80::1 dev eth0 lladdr 00:05:73:a0:00:01 router PERMANENT Isotopp: h1755802:~ # uname -a Isotopp: Linux h1755802 3.4.6-2.10-default #1 SMP Thu Jul 26 09:36:26 UTC 2012 (641c197) x86_64 x86_64 x86_64 GNU/Linux Isotopp: stock suse 12.2 Isotopp: obviously certfied broken. Reproducible: Always Steps to Reproduce: See details from chat log. h1755802:~ # cat /etc/sysconfig/network/ifroute-lo 127/8 2a01:238:42c5:2400::/56 h1755802:~ # cat /etc/sysconfig/network/ifroute-eth0 2a01:238:42c5:2400:76b7:d034:4d3b:eb7b fe80::1 2a01:238:42c5:2400::2710 fe80::1 In screen run while sleep 5; do ip -6 neigh show; done > log Detach and idle, wait for 5 min, reattach, and check log fe80::1 dev eth0 lladdr 00:05:73:a0:00:01 router REACHABLE fe80::1 dev eth0 lladdr 00:05:73:a0:00:01 router DELAY fe80::1 dev eth0 lladdr 00:05:73:a0:00:01 router STALE Fix: echo "::/0 fe80::1" >> /etc/sysconfig/network/ifroute-eth0 for the route problem. and ip neigh replace fe80::1 dev eth0 lladdr 00:05:73:a0:00:01 nud permanent for the neighbor DELAY/STALE problem. Expected Results: Both, the route and the "ip neigh replace fe80::1 dev eth0 lladdr 00:05:73:a0:00:01 nud permanent" should not be necessary. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.