|
From: BlaisorBlade <bla...@ya...> - 2004-10-03 15:17:19
|
On Sunday 03 October 2004 04:36, Lars Ellenberg wrote: > in the upcomming new heartbeat design of linux-ha, we use relatively > large udp packets (passing large xml blobs back and forth between the > nodes). now, cluster development and testing is convenient on UML. > > but: > uml seems to silently and systematically lose all fragmented > udp packets, that is packages larger than mtu, and 1480 byte > max for xml blobs just does not work out too good ... > I investigated a little bit (using two simple perl snippets to > generate/[not]receive the udp packets), and it turns out that: > sending large (up to 64K; fragmented) udp packets > using tuntap: > HOST -> UML works. > UML -> HOST nope :( > UML <-> UML nope :( [ neither with mcast or other ] > > looking into /proc/net/snmp on the UMLs and the HOST > show on the not receiving side an increase of > InHdrError! > (it never is reassembled into a proper udp packet) > > this is easy to reproduce (because it just happens all the time) > tested with 2.6.6 and 2.6.8 plus respective UML patches. Have you tried to use different UML transports (ethertap/uml_switch)- tcpdump'ing the traffic - other things? Changing the host version? Increasing the MTU somewhere (but seems not to work)? What is strange is that the UML code does not even parse the IP header when using tuntap - it only works at the Ethernet layer. IIRC, the fragmentation happens at the IP layer... Also, can you post the scripts you use? > it seems to me that UML corrupts the ip header of > fragmented udp packets somehow at sending time. > > I wonder, if someone uses nfs over udp on uml, this should > be a long known issue and turn up loads of hits in a search. > I did not find a single reference to that problem, though. Does NFS uses large UDP packets? > thanks, > > Lars Ellenberg > > please CC me, I'm not subscribed on this list. -- Paolo Giarrusso, aka Blaisorblade Linux registered user n. 292729 |