[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 05/16] tap: Drop tap_can_send
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PULL 05/16] tap: Drop tap_can_send |
Date: |
Fri, 12 Jun 2015 13:57:30 +0100 |
From: Fam Zheng <address@hidden>
This callback is called by main loop before polling s->fd, if it returns
false, the fd will not be polled in this iteration.
This is redundant with checks inside read callback. After this patch,
the data will be sent to peer when it arrives. If the device can't
receive, it will be queued to incoming_queue, and when the device status
changes, this queue will be flushed.
Signed-off-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
---
net/tap.c | 13 ++-----------
1 file changed, 2 insertions(+), 11 deletions(-)
diff --git a/net/tap.c b/net/tap.c
index d1ca314..0d184cf 100644
--- a/net/tap.c
+++ b/net/tap.c
@@ -62,14 +62,12 @@ typedef struct TAPState {
static void launch_script(const char *setup_script, const char *ifname,
int fd, Error **errp);
-static int tap_can_send(void *opaque);
static void tap_send(void *opaque);
static void tap_writable(void *opaque);
static void tap_update_fd_handler(TAPState *s)
{
- qemu_set_fd_handler2(s->fd,
- s->read_poll && s->enabled ? tap_can_send : NULL,
+ qemu_set_fd_handler2(s->fd, NULL,
s->read_poll && s->enabled ? tap_send : NULL,
s->write_poll && s->enabled ? tap_writable : NULL,
s);
@@ -166,13 +164,6 @@ static ssize_t tap_receive(NetClientState *nc, const
uint8_t *buf, size_t size)
return tap_write_packet(s, iov, 1);
}
-static int tap_can_send(void *opaque)
-{
- TAPState *s = opaque;
-
- return qemu_can_send_packet(&s->nc);
-}
-
#ifndef __sun__
ssize_t tap_read_packet(int tapfd, uint8_t *buf, int maxlen)
{
@@ -192,7 +183,7 @@ static void tap_send(void *opaque)
int size;
int packets = 0;
- while (qemu_can_send_packet(&s->nc)) {
+ while (true) {
uint8_t *buf = s->buf;
size = tap_read_packet(s->fd, s->buf, sizeof(s->buf));
--
2.4.2
- [Qemu-devel] [PULL 00/16] Net patches, Stefan Hajnoczi, 2015/06/12
- [Qemu-devel] [PULL 02/16] l2tpv3: Drop l2tpv3_can_send, Stefan Hajnoczi, 2015/06/12
- [Qemu-devel] [PULL 01/16] stubs: Add qemu_set_fd_handler, Stefan Hajnoczi, 2015/06/12
- [Qemu-devel] [PULL 03/16] netmap: Drop netmap_can_send, Stefan Hajnoczi, 2015/06/12
- [Qemu-devel] [PULL 04/16] net/socket: Drop net_socket_can_send, Stefan Hajnoczi, 2015/06/12
- [Qemu-devel] [PULL 05/16] tap: Drop tap_can_send,
Stefan Hajnoczi <=
- [Qemu-devel] [PULL 06/16] Change qemu_set_fd_handler2(..., NULL, ...) to qemu_set_fd_handler, Stefan Hajnoczi, 2015/06/12
- [Qemu-devel] [PULL 07/16] main-loop: Drop qemu_set_fd_handler2, Stefan Hajnoczi, 2015/06/12
- [Qemu-devel] [PULL 08/16] alsaaudio: Remove unused error handling of qemu_set_fd_handler, Stefan Hajnoczi, 2015/06/12
- [Qemu-devel] [PULL 09/16] oss: Remove unused error handling of qemu_set_fd_handler, Stefan Hajnoczi, 2015/06/12
- [Qemu-devel] [PULL 10/16] xen_backend: Remove unused error handling of qemu_set_fd_handler, Stefan Hajnoczi, 2015/06/12
- [Qemu-devel] [PULL 11/16] event-notifier: Always return 0 for posix implementation, Stefan Hajnoczi, 2015/06/12
- [Qemu-devel] [PULL 12/16] iohandler: Change return type of qemu_set_fd_handler to "void", Stefan Hajnoczi, 2015/06/12
- [Qemu-devel] [PULL 13/16] rocker: Add support for phys name, Stefan Hajnoczi, 2015/06/12
- [Qemu-devel] [PULL 15/16] rocker: bring link up/down on PHY enable/disable, Stefan Hajnoczi, 2015/06/12
- [Qemu-devel] [PULL 14/16] rocker: update tests using hw-derived interface names, Stefan Hajnoczi, 2015/06/12