[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH V2 4/6] net/socket.c: Add vnet packet support in net
From: |
Zhang Chen |
Subject: |
[Qemu-devel] [PATCH V2 4/6] net/socket.c: Add vnet packet support in net_socket_receive() |
Date: |
Thu, 20 Apr 2017 14:39:04 +0800 |
Because of net_socket_send() add vnet header length argument,
Avoid conflict with net_socket_send().
Signed-off-by: Zhang Chen <address@hidden>
---
net/socket.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/net/socket.c b/net/socket.c
index fe3547b..1f1f3d2 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -33,6 +33,7 @@
#include "qemu/sockets.h"
#include "qemu/iov.h"
#include "qemu/main-loop.h"
+#include "hw/virtio/virtio-net.h"
typedef struct NetSocketState {
NetClientState nc;
@@ -81,12 +82,17 @@ static void net_socket_writable(void *opaque)
static ssize_t net_socket_receive(NetClientState *nc, const uint8_t *buf,
size_t size)
{
NetSocketState *s = DO_UPCAST(NetSocketState, nc, nc);
+ VirtIONet *n = qemu_get_nic_opaque(nc->peer);
uint32_t len = htonl(size);
+ uint32_t vnet_hdr_len = htonl(n->guest_hdr_len);
struct iovec iov[] = {
{
.iov_base = &len,
.iov_len = sizeof(len),
}, {
+ .iov_base = &vnet_hdr_len,
+ .iov_len = sizeof(vnet_hdr_len),
+ }, {
.iov_base = (void *)buf,
.iov_len = size,
},
--
2.7.4
- [Qemu-devel] [PATCH V2 0/6] Add COLO-proxy virtio-net support, Zhang Chen, 2017/04/20
- [Qemu-devel] [PATCH V2 2/6] net/net.c: Add vnet header length to SocketReadState, Zhang Chen, 2017/04/20
- [Qemu-devel] [PATCH V2 1/6] net/filter-mirror.c: Add filter-mirror and filter-redirector vnet support., Zhang Chen, 2017/04/20
- [Qemu-devel] [PATCH V2 3/6] net/colo-compare.c: Make colo-compare support vnet_hdr_len, Zhang Chen, 2017/04/20
- [Qemu-devel] [PATCH V2 4/6] net/socket.c: Add vnet packet support in net_socket_receive(),
Zhang Chen <=
- [Qemu-devel] [PATCH V2 5/6] net/colo.c: Add vnet packet parse feature in colo-proxy, Zhang Chen, 2017/04/20
- [Qemu-devel] [PATCH V2 6/6] net/colo-compare.c: Add vnet packet's tcp/udp/icmp compare, Zhang Chen, 2017/04/20
- Re: [Qemu-devel] [PATCH V2 0/6] Add COLO-proxy virtio-net support, Jason Wang, 2017/04/23