Hi, I'm developing a network block device, which uses both TCP and UDP sockets to transmit it's data. When I try to send UDP frames bigger than the MTU, they are dropped before they hit the wire. Trying to debug the problem, I ran netcat using udp under a UML. It uses writes of 8192 bytes over a UDP socket. The scenario that made me post here is this: running UML on tracing thread mode, host kernel is 2.6.10, uml kernel is 2.6.8.1-1um, if I set the MTU of the localhost device (same problem on tun/tap) to 1500 bytes, netcat doesn't receive any frames sent to the loopback interface. path_mtu_no_discover is 0. The same scenario, on my host computer, runs fine.
Seems to me that IP is refusing to fragment the udp datagrams, and drops them. I don't know if it's a UML problem, but when I saw that not only my code, but netcat also drops frames, it stranged me. Thank you very much -- .-. oo| Yari Adán Petralanda, a.k.a. mustang /`'\ (\_;/) http://www.yadan.org Registered Linux User #257290 -- Nothing so needs reforming as other people's habits. -- Mark Twain, "Pudd'nhead Wilson's Calendar"
pgpCjfioQWIJf.pgp
Description: PGP signature