> During some experiments with programming UDP/IP sockets, I've noted that I
> could transfer more than 3250 bytes of data. The sendto() routine says it
> has sent the data, but recvfrom() just blocks. This is a consistent error.
>
> My system configuration consists of two 486 PCs connected with a 57600 bps
> slip line. I am running kernel 2.1.40 on one system and 2.0.25 on the other.
This problem may still exist in current 2.1.x kernels. I found that
traceroute 1.4a4+ipv6-1 (i.e.traceroute with IPv6 ability) is also
mulfuntioned when it sent UDP packets to remote systems. The operation
of traceroute is to send some UDP packets with increasing IP_TTL and
listen to ICMP unreachable messages from intermiddle routers. The
fact is traceroute always miss the second (and fourth, sixth, etc.)
ICMP unreachable message. I used sniffer to catch Ethernet packets and
I found that there is no outgoing UDP packets at all so surely no
ICMP unreachable generated. If I let traceroute sending ICMP echo
instead of UDP packets the strange fact is disappeared.
Could someone check for the UDP code in kernel?
p.s.I found that in kernel v2.1.48/49
-- Howard Chang-hao Tsai Nat.Taiwan Univ. Dept. E.E. Highspeed Network Lab. email: chtsai@cctwin.ee.ntu.edu.tw