Date: Fri, 15 Apr 2011 18:57:19 -0500 From: Alex Anagnos <woodshop2300@gmail.com> To: freebsd-emulation@freebsd.org Subject: Networking frame loss in transmission Message-ID: <BANLkTik92Eg0hrHsaK0J8yh3vibuyRDZew@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
FreeBSD 8.0-RELEASE w/ VirtualBox 3.2.12. The setup is a small application in a Guest OS that is sending UDP Ethernet frames. I Am capturing on FreeBSD on the device with both Wireshark, and a custom written program that uses BPF zero copy. What i'm seeing is that when the application send data that is beyond the MTU the data is fragmented. However, sometimes, the first few fragments never show up in the capture, and indeed the receiving app never gets the message (reassembly fails). So when I call send with an 8192 payload, i see,=A0 frames 1 and 2 go missing, but 3, 4, and , 5 get out fine. (1500 MTU) When calling send 2 times in rapid succession, all fragments of the first send go missing as well as 1, and 2 of the 2nd send. 3, 4, and 5 get out fine. When calling send 3 times in rapid succession, all fragments of send 1 & 2 get lost as well as fragment 1 & 2 of the 3rd send. Frags 3, 4, and 5 are fine. When sending this at like 1 Message per second, things occasionally don't w= ork. When going at 3000FPS, it has so far always been the first few frames, after that the rest of the stream gets through ok almost like the driver has to warm up or something.. The issue happens sending from both a Linux guest and from a Windows Guest. The issue does not care about the speed of the traffic, it happens at 1FPS and at 3000FPS. The issue does seam to occur less often the smaller the message sent. When the message does not require fragmentation I have not seen the issue happen but i'm not going to guarantee it does not happen. The problem happens using Bridged, VDE, and Host-Only. The problem happens using the FastPCI driver, intel e1000, and para-virtual= ized. The problem happens with any number of the above 3 combos. The problem happens in Version 3.2.6 and inversion 3.2.12. The problem looks to be somewhere in the VirtualBox box code, or maybe in the VirtualBox kernel module integration with FreeBSD
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BANLkTik92Eg0hrHsaK0J8yh3vibuyRDZew>