Problem with UDP fragmentation reassembly in kernel 2.4.x

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I'm having a problem with UDP fragmentation reassembly. I'm running the latest Red Hat 9 errata kernel (2.4.20-20.9) and I have a simple UDP client and server. The client is sending payloads that range from 1000 to (65535 - 28) bytes.

The problem is that between two Linux boxes, it seems like the only the last fragment is being seen by the UDP server box. The UDP client box shows the proper IP fragmentation packets going out the interface. The following is a tcpdump output from the UDP server box with just the "udp" filter:

[root@k6-350 udptest]# tcpdump udp
tcpdump: listening on eth0
08:47:47.398756 www.32869 > k6-350.6000: udp 1000 [tos 0x80]
08:47:53.576274 www.32869 > k6-350.6000: udp 2000 (frag 23294:1480@0+) [tos 0x80]
08:47:54.768272 www.32869 > k6-350.6000: udp 3000 (frag 23295:1480@0+) [tos 0x80]
08:48:00.876335 www.32869 > k6-350.6000: udp 4000 (frag 23296:1480@0+) [tos 0x80]
08:48:07.050195 www.32869 > k6-350.6000: udp 5000 (frag 23297:1480@0+) [tos 0x80]
08:48:18.515435 www.32869 > k6-350.6000: udp 6000 (frag 23298:1480@0+) [tos 0x80]
08:48:20.233865 www.32869 > k6-350.6000: udp 7000 (frag 23299:1480@0+) [tos 0x80]
08:48:21.597156 www.32869 > k6-350.6000: udp 8000 (frag 23300:1480@0+) [tos 0x80]
08:48:27.745616 www.32869 > k6-350.6000: udp 9000 (frag 23301:1480@0+) [tos 0x80]
08:48:29.525689 www.32869 > k6-350.6000: udp 10000 (frag 23302:1480@0+) [tos 0x80]
0


The UDP server process only sees packets that are under the Ethernet MTU of 1500 bytes. I have also tried toggling the IP Path MTU Discovery flag in /proc/sys/net/ipv4/ip_no_pmtu_disc.

If this is how things are supposed to work now, is there some new socket API that I need to follow other than just calling recvfrom() in order to get proper UDP/IP fragmentation reassembly to work again?

Thanks,
Tuan

-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux