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 = {
|
||||
.type = NET_CLIENT_OPTIONS_KIND_TAP,
|
||||
.size = sizeof(TAPState),
|
||||
.receive = tap_receive,
|
||||
.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,
|
||||
@ -722,49 +771,6 @@ int net_init_tap(const NetClientOptions *opts, const char *name,
|
||||
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)
|
||||
{
|
||||
abort();
|
||||
|
@ -314,6 +314,12 @@ static NetClientInfo net_tap_info = {
|
||||
.receive_iov = tap_receive_iov,
|
||||
.poll = tap_poll,
|
||||
.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,
|
||||
|
Loading…
Reference in New Issue
Block a user