mirror of
https://github.com/qemu/qemu.git
synced 2025-08-09 10:25:06 +00:00
net: TAP uses NetClientInfo offloading callbacks
The TAP NetClientInfo structure is inizialized with the TAP-specific functions that manipulates offloading features. Signed-off-by: Vincenzo Maffione <v.maffione@gmail.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
1f55ac4586
commit
2e753bcc7d
@ -669,11 +669,60 @@ static void tap_win32_send(void *opaque)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool tap_has_ufo(NetClientState *nc)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool tap_has_vnet_hdr(NetClientState *nc)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
int tap_probe_vnet_hdr_len(int fd, int len)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void tap_fd_set_vnet_hdr_len(int fd, int len)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void tap_using_vnet_hdr(NetClientState *nc, bool using_vnet_hdr)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void tap_set_offload(NetClientState *nc, int csum, int tso4,
|
||||||
|
int tso6, int ecn, int ufo)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
struct vhost_net *tap_get_vhost_net(NetClientState *nc)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool tap_has_vnet_hdr_len(NetClientState *nc, int len)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void tap_set_vnet_hdr_len(NetClientState *nc, int len)
|
||||||
|
{
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
|
||||||
static NetClientInfo net_tap_win32_info = {
|
static NetClientInfo net_tap_win32_info = {
|
||||||
.type = NET_CLIENT_OPTIONS_KIND_TAP,
|
.type = NET_CLIENT_OPTIONS_KIND_TAP,
|
||||||
.size = sizeof(TAPState),
|
.size = sizeof(TAPState),
|
||||||
.receive = tap_receive,
|
.receive = tap_receive,
|
||||||
.cleanup = tap_cleanup,
|
.cleanup = tap_cleanup,
|
||||||
|
.has_ufo = tap_has_ufo,
|
||||||
|
.has_vnet_hdr = tap_has_vnet_hdr,
|
||||||
|
.has_vnet_hdr_len = tap_has_vnet_hdr_len,
|
||||||
|
.using_vnet_hdr = tap_using_vnet_hdr,
|
||||||
|
.set_offload = tap_set_offload,
|
||||||
|
.set_vnet_hdr_len = tap_set_vnet_hdr_len,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int tap_win32_init(NetClientState *peer, const char *model,
|
static int tap_win32_init(NetClientState *peer, const char *model,
|
||||||
@ -722,49 +771,6 @@ int net_init_tap(const NetClientOptions *opts, const char *name,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool tap_has_ufo(NetClientState *nc)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool tap_has_vnet_hdr(NetClientState *nc)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
int tap_probe_vnet_hdr_len(int fd, int len)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void tap_fd_set_vnet_hdr_len(int fd, int len)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void tap_using_vnet_hdr(NetClientState *nc, bool using_vnet_hdr)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void tap_set_offload(NetClientState *nc, int csum, int tso4,
|
|
||||||
int tso6, int ecn, int ufo)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
struct vhost_net *tap_get_vhost_net(NetClientState *nc)
|
|
||||||
{
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool tap_has_vnet_hdr_len(NetClientState *nc, int len)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void tap_set_vnet_hdr_len(NetClientState *nc, int len)
|
|
||||||
{
|
|
||||||
abort();
|
|
||||||
}
|
|
||||||
|
|
||||||
int tap_enable(NetClientState *nc)
|
int tap_enable(NetClientState *nc)
|
||||||
{
|
{
|
||||||
abort();
|
abort();
|
||||||
|
@ -314,6 +314,12 @@ static NetClientInfo net_tap_info = {
|
|||||||
.receive_iov = tap_receive_iov,
|
.receive_iov = tap_receive_iov,
|
||||||
.poll = tap_poll,
|
.poll = tap_poll,
|
||||||
.cleanup = tap_cleanup,
|
.cleanup = tap_cleanup,
|
||||||
|
.has_ufo = tap_has_ufo,
|
||||||
|
.has_vnet_hdr = tap_has_vnet_hdr,
|
||||||
|
.has_vnet_hdr_len = tap_has_vnet_hdr_len,
|
||||||
|
.using_vnet_hdr = tap_using_vnet_hdr,
|
||||||
|
.set_offload = tap_set_offload,
|
||||||
|
.set_vnet_hdr_len = tap_set_vnet_hdr_len,
|
||||||
};
|
};
|
||||||
|
|
||||||
static TAPState *net_tap_fd_init(NetClientState *peer,
|
static TAPState *net_tap_fd_init(NetClientState *peer,
|
||||||
|
Loading…
Reference in New Issue
Block a user