tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Dealing with ICMPv6 network unreachable.



Hi List!

I'm currently holidaying in Spain, and my apartments router is giving me
no end of grief. It claims it's a IPv6 router with the address fe80::1
but with no prefix information. Interestingly enough it is serving DNS
and DHCP on v6 as well.

Anyway, the problem is that because it's added a default route, various
programs will try IPv6 first. For each address tried, the router issues
an ICMPv6 unreachable message of code 0. This is displayed with ping -v
as well, so it is hitting userland. However, applications are ignoring
it. My simple test case is wget (available in pkgsrc).

On NetBSD, using wget on a IPv6 host, such as roy.marples.name, will try
IPv6 first. It then stalls, ignoring the ICMP unreachable message.
On Linux (running in QEMU on the same NetBSD host) the same wget command
tries the IPv6 host first but reports that it's unreachable and moves
onto the IPv4 address which works fine. This is quite a fast operation.
Other applications, such as ssh and firefox also have long stalls before
falling back to IPv4 and again the fallback is quite prompt in Linux.

I've looked over the icmp and routing code but am at a total loss how or
even if this is supposed to work. Any help would be appreciated so I can
resolve this before I head home!

Roy



Home | Main Index | Thread Index | Old Index