提交 3e021d40 编写于 作者: M Mark McLoughlin

net: return status from qemu_deliver_packet()

Will allow qemu_send_packet() handle queue full condition.
Signed-off-by: NMark McLoughlin <markmc@redhat.com>
上级 4f1c942b
......@@ -409,16 +409,30 @@ int qemu_can_send_packet(VLANClientState *sender)
return 0;
}
static void
static int
qemu_deliver_packet(VLANClientState *sender, const uint8_t *buf, int size)
{
VLANClientState *vc;
int ret = -1;
for (vc = sender->vlan->first_client; vc != NULL; vc = vc->next) {
if (vc != sender && !vc->link_down) {
vc->receive(vc, buf, size);
ssize_t len;
if (vc == sender) {
continue;
}
if (vc->link_down) {
ret = size;
continue;
}
len = vc->receive(vc, buf, size);
ret = (ret >= 0) ? ret : len;
}
return ret;
}
void qemu_send_packet(VLANClientState *vc, const uint8_t *buf, int size)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册