[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC][PATCH v3 12/21] virtproxy: add vp_handle_packet()
From: |
Michael Roth |
Subject: |
[Qemu-devel] [RFC][PATCH v3 12/21] virtproxy: add vp_handle_packet() |
Date: |
Mon, 15 Nov 2010 19:16:06 -0600 |
Signed-off-by: Michael Roth <address@hidden>
---
virtproxy.c | 23 +++++++++++++++++++++++
1 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/virtproxy.c b/virtproxy.c
index 0cc8950..01a36c2 100644
--- a/virtproxy.c
+++ b/virtproxy.c
@@ -464,6 +464,29 @@ static int vp_handle_data_packet(void *drv, const VPPacket
*pkt)
return 0;
}
+static inline int vp_handle_packet(VPDriver *drv, const VPPacket *pkt)
+{
+ int ret;
+
+ TRACE("called with drv: %p", drv);
+
+ if (pkt->magic != VP_MAGIC) {
+ LOG("invalid packet magic field");
+ return -1;
+ }
+
+ if (pkt->type == VP_PKT_CONTROL) {
+ ret = vp_handle_control_packet(drv, pkt);
+ } else if (pkt->type == VP_PKT_CLIENT || pkt->type == VP_PKT_SERVER) {
+ ret = vp_handle_data_packet(drv, pkt);
+ } else {
+ LOG("invalid packet type");
+ return -1;
+ }
+
+ return ret;
+}
+
/* process a stream of packets coming in from the channel */
int vp_handle_packet_buf(VPDriver *drv, const void *buf, int count)
{
--
1.7.0.4
- Re: [Qemu-devel] [RFC][PATCH v3 05/21] virtproxy, add vp_channel_send_all, (continued)
- [Qemu-devel] [RFC][PATCH v3 06/21] virtproxy: add accept handler for communication channel, Michael Roth, 2010/11/15
- [Qemu-devel] [RFC][PATCH v3 07/21] virtproxy: add read handler for communication channel, Michael Roth, 2010/11/15
- [Qemu-devel] [RFC][PATCH v3 08/21] virtproxy: add vp_new() VPDriver constructor, Michael Roth, 2010/11/15
- [Qemu-devel] [RFC][PATCH v3 09/21] virtproxy: interfaces to set/remove/handle VPOForwards, Michael Roth, 2010/11/15
- [Qemu-devel] [RFC][PATCH v3 10/21] virtproxy: add handler for data packets, Michael Roth, 2010/11/15
- [Qemu-devel] [RFC][PATCH v3 12/21] virtproxy: add vp_handle_packet(),
Michael Roth <=
- [Qemu-devel] [RFC][PATCH v3 13/21] virtproxy: interfaces to set/remove VPIForwards, Michael Roth, 2010/11/15
- [Qemu-devel] [RFC][PATCH v3 15/21] virtproxy: add read handler for proxied connections, Michael Roth, 2010/11/15
- [Qemu-devel] [RFC][PATCH v3 14/21] virtproxy: use new option list in virtproxy.c, Michael Roth, 2010/11/15
- [Qemu-devel] [RFC][PATCH v3 11/21] virtproxy: add handler for control packet, Michael Roth, 2010/11/15
[Qemu-devel] [RFC][PATCH v3 16/21] virtproxy: add option parser helper vp_parse(), Michael Roth, 2010/11/15