qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/3] net: fix hub control flow (again)
@ 2012-08-24 13:39 Stefan Hajnoczi
  2012-08-24 13:39 ` [Qemu-devel] [PATCH 1/3] net: clean up usbnet_receive() Stefan Hajnoczi
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Stefan Hajnoczi @ 2012-08-24 13:39 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Vincent Palatin, Stefan Hajnoczi, Roy.Li

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-08-29 15:34 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-24 13:39 [Qemu-devel] [PATCH 0/3] net: fix hub control flow (again) Stefan Hajnoczi
2012-08-24 13:39 ` [Qemu-devel] [PATCH 1/3] net: clean up usbnet_receive() Stefan Hajnoczi
2012-08-24 13:39 ` [Qemu-devel] [PATCH 2/3] net: fix usbnet_receive() packet drops Stefan Hajnoczi
2012-08-24 13:39 ` [Qemu-devel] [PATCH 3/3] net: broadcast hub packets if at least one port can receive Stefan Hajnoczi
2012-08-29 15:34 ` [Qemu-devel] [PATCH 0/3] net: fix hub control flow (again) Stefan Hajnoczi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).