On Wed, May 13, 2009 at 12:34:36PM -0400, Richard Achmatowicz wrote:
I'm using Fedora 8 but I have the same problem on RHEL 5. Before I
submit this issue as a bug, I wanted to check if my understanding is not
flawed in some way.
For some reason, when I create an IPv6 address (global or link-local) on
interface eth0, three related routs are added:
U 256 0 0 eth0
U 0 0 1 lo
U 0 0 1 lo
The latter of these, the most specific, drives all datagrams onto lo
instead of eth0.
I'm trying to find out why. I didn't ask for a route to lo to be
created, so why is it being created?
This behavior is causing Sun JDK 6 to behave badly when working with
IPv6 addresses in certain contexts (Sun bug 6800096).
Any ideas appreciated...A full example of what is happening is listed below.
This I think looks fairly normal. Its the mask value that makes all the
difference. The first entry says anything going to the 3ffe:ffff:100:f101
subnet (with a 64 bit netmask) should go out go out eth0. The second and third
entries say that anyting going to the addresses 3ffe:ffff:100:f101:: and
3ffe:ffff:100:f101::1 should go through lo. Since those two addresses are local
to the system, they can be routed through the lo interface. No other addresses
on that 64 bit network should match on that route however, since they're both
masked at 128 bits. If anything but traffic to your local interfaces is
matching on those routes, its a bug, but having traffic bound for your local
addresses go through lo is fine.
What exactly is the behavior that you're seeing which is leading you to think
that these routes are the cause?