• S
    net: broadcast hub packets if at least one port can receive · 61518a74
    Stefan Hajnoczi 提交于
    In commit 60c07d93 ("net: fix
    qemu_can_send_packet logic") the "VLAN" broadcast behavior was changed
    to queue packets if any net client cannot receive.  It turns out that
    this was not actually the right fix and just hides the real bug that
    hw/usb/dev-network.c:usbnet_receive() clobbers its receive buffer when
    called multiple times in a row.  The commit also introduced a new bug
    that "VLAN" packets would not be sent if one of multiple net clients was
    down.
    
    The hw/usb/dev-network.c bug has since been fixed, so this patch reverts
    broadcast behavior to send packets as long as one net client can
    receive.  Packets simply get queued for the net clients that are
    temporarily unable to receive.
    Reported-by: NRoy.Li <rongqing.li@windriver.com>
    Signed-off-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
    61518a74
hub.c 7.8 KB