[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH V3 02/10] net/tap.c: Add tap_get_vnet_hdr_len and ta
From: |
Zhang Chen |
Subject: |
[Qemu-devel] [PATCH V3 02/10] net/tap.c: Add tap_get_vnet_hdr_len and tap_get_using_vnet_hdr function |
Date: |
Fri, 28 Apr 2017 17:47:12 +0800 |
Make tap backend support get_vnet_hdr_len.
Signed-off-by: Zhang Chen <address@hidden>
---
net/tap-win32.c | 12 ++++++++++++
net/tap.c | 20 ++++++++++++++++++++
2 files changed, 32 insertions(+)
diff --git a/net/tap-win32.c b/net/tap-win32.c
index 662f9b6..337e8ea 100644
--- a/net/tap-win32.c
+++ b/net/tap-win32.c
@@ -729,6 +729,11 @@ static void tap_using_vnet_hdr(NetClientState *nc, bool
using_vnet_hdr)
{
}
+static void tap_get_using_vnet_hdr(NetClientState *nc)
+{
+ return false;
+}
+
static void tap_set_offload(NetClientState *nc, int csum, int tso4,
int tso6, int ecn, int ufo)
{
@@ -744,6 +749,11 @@ static bool tap_has_vnet_hdr_len(NetClientState *nc, int
len)
return false;
}
+static int tap_get_vnet_hdr_len(NetClientState *nc)
+{
+ return 0;
+}
+
static void tap_set_vnet_hdr_len(NetClientState *nc, int len)
{
abort();
@@ -757,7 +767,9 @@ static NetClientInfo net_tap_win32_info = {
.has_ufo = tap_has_ufo,
.has_vnet_hdr = tap_has_vnet_hdr,
.has_vnet_hdr_len = tap_has_vnet_hdr_len,
+ .get_vnet_hdr_len = tap_get_vnet_hdr_len,
.using_vnet_hdr = tap_using_vnet_hdr,
+ .get_using_vnet_hdr = tap_get_using_vnet_hdr,
.set_offload = tap_set_offload,
.set_vnet_hdr_len = tap_set_vnet_hdr_len,
};
diff --git a/net/tap.c b/net/tap.c
index 979e622..214c83d 100644
--- a/net/tap.c
+++ b/net/tap.c
@@ -246,6 +246,15 @@ static bool tap_has_vnet_hdr_len(NetClientState *nc, int
len)
return !!tap_probe_vnet_hdr_len(s->fd, len);
}
+static int tap_get_vnet_hdr_len(NetClientState *nc)
+{
+ TAPState *s = DO_UPCAST(TAPState, nc, nc);
+
+ assert(nc->info->type == NET_CLIENT_DRIVER_TAP);
+
+ return s->host_vnet_hdr_len;
+}
+
static void tap_set_vnet_hdr_len(NetClientState *nc, int len)
{
TAPState *s = DO_UPCAST(TAPState, nc, nc);
@@ -268,6 +277,15 @@ static void tap_using_vnet_hdr(NetClientState *nc, bool
using_vnet_hdr)
s->using_vnet_hdr = using_vnet_hdr;
}
+static bool tap_get_using_vnet_hdr(NetClientState *nc)
+{
+ TAPState *s = DO_UPCAST(TAPState, nc, nc);
+
+ assert(nc->info->type == NET_CLIENT_DRIVER_TAP);
+
+ return s->using_vnet_hdr;
+}
+
static int tap_set_vnet_le(NetClientState *nc, bool is_le)
{
TAPState *s = DO_UPCAST(TAPState, nc, nc);
@@ -354,7 +372,9 @@ static NetClientInfo net_tap_info = {
.has_ufo = tap_has_ufo,
.has_vnet_hdr = tap_has_vnet_hdr,
.has_vnet_hdr_len = tap_has_vnet_hdr_len,
+ .get_vnet_hdr_len = tap_get_vnet_hdr_len,
.using_vnet_hdr = tap_using_vnet_hdr,
+ .get_using_vnet_hdr = tap_get_using_vnet_hdr,
.set_offload = tap_set_offload,
.set_vnet_hdr_len = tap_set_vnet_hdr_len,
.set_vnet_le = tap_set_vnet_le,
--
2.7.4
- [Qemu-devel] [PATCH V3 00/10] Add COLO-proxy virtio-net support, Zhang Chen, 2017/04/28
- [Qemu-devel] [PATCH V3 02/10] net/tap.c: Add tap_get_vnet_hdr_len and tap_get_using_vnet_hdr function,
Zhang Chen <=
- [Qemu-devel] [PATCH V3 01/10] net: Add vnet_hdr_len related callback in NetClientInfo, Zhang Chen, 2017/04/28
- [Qemu-devel] [PATCH V3 10/10] net/colo-compare.c: Add vnet packet's tcp/udp/icmp compare, Zhang Chen, 2017/04/28
- [Qemu-devel] [PATCH V3 07/10] tests/virtio-net-test.c : change virtio-net test case iov send data format, Zhang Chen, 2017/04/28
- [Qemu-devel] [PATCH V3 04/10] net/filter-mirror.c: Add filter-mirror and filter-redirector vnet support., Zhang Chen, 2017/04/28
- [Qemu-devel] [PATCH V3 08/10] net/colo-compare.c: Make colo-compare support vnet_hdr_len, Zhang Chen, 2017/04/28
- [Qemu-devel] [PATCH V3 05/10] net/net.c: Add vnet header length to SocketReadState, Zhang Chen, 2017/04/28
- [Qemu-devel] [PATCH V3 06/10] tests/e1000e-test.c : change e1000e test case send data format, Zhang Chen, 2017/04/28
- [Qemu-devel] [PATCH V3 09/10] net/colo.c: Add vnet packet parse feature in colo-proxy, Zhang Chen, 2017/04/28
- [Qemu-devel] [PATCH V3 03/10] net/netmap.c: Add netmap_get_vnet_hdr_len function, Zhang Chen, 2017/04/28