[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 01/13] net: factor tap_read_packet() out of tap_send
From: |
Mark McLoughlin |
Subject: |
[Qemu-devel] [PATCH 01/13] net: factor tap_read_packet() out of tap_send() |
Date: |
Tue, 19 May 2009 10:55:23 +0100 |
Move portability clutter out into its own function.
Signed-off-by: Mark McLoughlin <address@hidden>
---
net.c | 28 +++++++++++++++++++---------
1 files changed, 19 insertions(+), 9 deletions(-)
diff --git a/net.c b/net.c
index 671138f..a819043 100644
--- a/net.c
+++ b/net.c
@@ -806,21 +806,31 @@ static void tap_receive(void *opaque, const uint8_t *buf,
int size)
}
}
-static void tap_send(void *opaque)
-{
- TAPState *s = opaque;
- uint8_t buf[4096];
- int size;
-
#ifdef __sun__
+static ssize_t tap_read_packet(int tapfd, uint8_t *buf, int maxlen)
+{
struct strbuf sbuf;
int f = 0;
- sbuf.maxlen = sizeof(buf);
+
+ sbuf.maxlen = maxlen;
sbuf.buf = (char *)buf;
- size = getmsg(s->fd, NULL, &sbuf, &f) >=0 ? sbuf.len : -1;
+
+ return getmsg(tapfd, NULL, &sbuf, &f) >= 0 ? sbuf.len : -1;
+}
#else
- size = read(s->fd, buf, sizeof(buf));
+static ssize_t tap_read_packet(int tapfd, uint8_t *buf, int maxlen)
+{
+ return read(tapfd, buf, maxlen);
+}
#endif
+
+static void tap_send(void *opaque)
+{
+ TAPState *s = opaque;
+ uint8_t buf[4096];
+ int size;
+
+ size = tap_read_packet(s->fd, buf, sizeof(buf));
if (size > 0) {
qemu_send_packet(s->vc, buf, size);
}
--
1.6.0.6
- [Qemu-devel] [PATCH 0/13] Add generic packet buffering API, Mark McLoughlin, 2009/05/19
- [Qemu-devel] [PATCH 01/13] net: factor tap_read_packet() out of tap_send(),
Mark McLoughlin <=
- [Qemu-devel] [PATCH 02/13] net: move the tap buffer into TAPState, Mark McLoughlin, 2009/05/19
- [Qemu-devel] [PATCH 03/13] net: vlan clients with no fd_can_read() can always receive, Mark McLoughlin, 2009/05/19
- [Qemu-devel] [PATCH 04/13] net: only read from tapfd when we can send, Mark McLoughlin, 2009/05/19
- [Qemu-devel] [PATCH 05/13] net: add fd_readv() handler to qemu_new_vlan_client() args, Mark McLoughlin, 2009/05/19
- [Qemu-devel] [PATCH 06/13] net: re-name vc->fd_read() to vc->receive(), Mark McLoughlin, 2009/05/19
- [Qemu-devel] [PATCH 07/13] net: pass VLANClientState* as first arg to receive handlers, Mark McLoughlin, 2009/05/19
- [Qemu-devel] [PATCH 08/13] net: add return value to packet receive handler, Mark McLoughlin, 2009/05/19
- [Qemu-devel] [PATCH 09/13] net: return status from qemu_deliver_packet(), Mark McLoughlin, 2009/05/19
- [Qemu-devel] [PATCH 10/13] net: split out packet queueing and flushing into separate functions, Mark McLoughlin, 2009/05/22
- [Qemu-devel] [PATCH 11/13] net: add qemu_send_packet_async(), Mark McLoughlin, 2009/05/22