IPv6 interface problem

From: Madhavi (madhavis@sasken.com)
Date: Thu Aug 22 2002 - 05:49:36 EST


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

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?


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/

This archive was generated by hypermail 2b29 : Fri Aug 23 2002 - 22:00:24 EST