Re: UDP network problem

Chang-hao Tsai (chtsai@ccstudent.ee.ntu.edu.tw)
Mon, 18 Aug 1997 14:23:12 +0800


mshar@vax.ipm.ac.ir wrote:

> 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