[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/3] net: fix hub control flow (again)
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH 0/3] net: fix hub control flow (again) |
Date: |
Wed, 29 Aug 2012 16:34:52 +0100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Fri, Aug 24, 2012 at 02:39:50PM +0100, Stefan Hajnoczi wrote:
> Two networking issues have been observed:
>
> 1. When the USB network interface and dump net client are on the same "VLAN",
> the USB network interface drops packets. This was assumed to be because
> the
> dump net client can receive packets all the time, whereas the USB network
> interface has a single buffer that the guest must empty.
>
> The (incorrect) fix for #1 was to only broadcast "VLAN" packets when all net
> clients can receive. Once this code change was merged a new issue appeared:
>
> 2. When two NICs are on a "VLAN" they must both be up. If one NIC is not up
> then no traffic can flow on the "VLAN".
>
> This patch series fixes the root cause for #1, namely, that the USB network
> interface clobbers its input buffer when usbnet_receive() is called before
> the guest has a chance to empty the buffer.
>
> Then we can revert the "VLAN" flow control change which caused #2. The result
> is that both #1 and #2 are now fixed.
>
> Stefan Hajnoczi (3):
> net: clean up usbnet_receive()
> net: fix usbnet_receive() packet drops
> net: broadcast hub packets if at least one port can receive
>
> hw/usb/dev-network.c | 49 +++++++++++++++++++++++++++++++++----------------
> net/hub.c | 6 +++---
> 2 files changed, 36 insertions(+), 19 deletions(-)
>
> --
> 1.7.10.4
>
>
Applied to the net tree:
https://github.com/stefanha/qemu/commits/net
Stefan