IPv6 interface problem

Madhavi (madhavis@sasken.com)
Thu, 22 Aug 2002 16:19:36 +0530 (IST)


Hi

I am trying to setup a simple IPv6 network with two machines directly
connected. I am using linux-2.4.19-stable on these machines. Then I tried
to check the connectivity using ping6.

When I do normal ping6, it worked in both the directions. When I tried to
increase the packet size to something greater than 1500, on one machine I
get the replies properly for the all the packets sent. On the other
machine, I get the following error:

ping: recvmsg: No route to host

When ping6 works perfectly fine for small packets, why does it fail for
large packets. And why does it fail in only one direction?

The interface types I have been using are EtherExpressPro/100 (This is on
the machine on which ping6 for large packets is failing) and DECchip Tulip
(dc21x4x).

I traced a few steps and found out that -

* the value returned by csum_partial() function in
skb_copy_and_csum_datagram_iovec() (net/core/datagram.c) is such that
the sum of the two 16 bit words in that is coming to 0x10080 where as
for correct packets, it is coming to 0xffff.
* Because of this csum_fold() is returning non-zero value and
skb_copy_and_csum_datagram_iovec () is returning -EINVAL and
rawv6_recvmsg() is returning -EHOSTUNREACH.

Does this 0x10080 have some significance or is it just a junk error? I
don't have any understanding of the code for physical and datalink layers.
Could someone help?

regards
Madhavi.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/