[lkml]   [2002]   [Aug]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectIPv6 interface problem


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
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:28    [W:0.052 / U:1.592 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site