From owner-freebsd-emulation@FreeBSD.ORG Sat Apr 16 00:24:09 2011 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 280B8106564A for ; Sat, 16 Apr 2011 00:24:09 +0000 (UTC) (envelope-from woodshop2300@gmail.com) Received: from mail-bw0-f54.google.com (mail-bw0-f54.google.com [209.85.214.54]) by mx1.freebsd.org (Postfix) with ESMTP id ABC468FC18 for ; Sat, 16 Apr 2011 00:24:08 +0000 (UTC) Received: by bwz12 with SMTP id 12so3493498bwz.13 for ; Fri, 15 Apr 2011 17:24:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=OYthzLm7seFvyDE3k2X0NJKglS0Kj7xzTlm7BtLFzCg=; b=cKpGvpji2mvUn7/MNaNUwIrTgKbNp5GMbGeH4ywvKD3xvb+Z/BQywd1E0M4FhaBM7C HhYNy8CK3trBJYsb+oC/xUF5pnka+fRPxuivLU6vJzaiT4NyeZAlMHih24gIVIK+fzN/ tcJPgH5FTVTY8BNEP6f4cayAUAfky3Omx+BlQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; b=PaEMQjZp5ikdRhZzcBej5tD6P5fmw7dl9OSu5HMQjT8yQB/I4PtpsO/hIAtc/rBHrL uvlpfVmkUr8NtyjWZToCHx1hAzRh48qyQnxkOHOMbC0KRWlMQpqZdCqKIkJEO/dvKosy iPs2Y37A55Ido6eRFPjhHuF+ajZGtiEbq3BZ8= MIME-Version: 1.0 Received: by 10.204.49.87 with SMTP id u23mr529966bkf.171.1302911839027; Fri, 15 Apr 2011 16:57:19 -0700 (PDT) Received: by 10.204.39.15 with HTTP; Fri, 15 Apr 2011 16:57:19 -0700 (PDT) Date: Fri, 15 Apr 2011 18:57:19 -0500 Message-ID: From: Alex Anagnos To: freebsd-emulation@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: Networking frame loss in transmission X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Apr 2011 00:24:09 -0000 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