net: Move virtio-net header length assertion
The virtio-net header length assertion should happen for any clients. Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
parent
4b52d63249
commit
a67753710d
@ -56,6 +56,7 @@
|
|||||||
#include "net/filter.h"
|
#include "net/filter.h"
|
||||||
#include "qapi/string-output-visitor.h"
|
#include "qapi/string-output-visitor.h"
|
||||||
#include "qapi/qobject-input-visitor.h"
|
#include "qapi/qobject-input-visitor.h"
|
||||||
|
#include "standard-headers/linux/virtio_net.h"
|
||||||
|
|
||||||
/* Net bridge is currently not supported for W32. */
|
/* Net bridge is currently not supported for W32. */
|
||||||
#if !defined(_WIN32)
|
#if !defined(_WIN32)
|
||||||
@ -550,6 +551,10 @@ void qemu_set_vnet_hdr_len(NetClientState *nc, int len)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
assert(len == sizeof(struct virtio_net_hdr_mrg_rxbuf) ||
|
||||||
|
len == sizeof(struct virtio_net_hdr) ||
|
||||||
|
len == sizeof(struct virtio_net_hdr_v1_hash));
|
||||||
|
|
||||||
nc->vnet_hdr_len = len;
|
nc->vnet_hdr_len = len;
|
||||||
nc->info->set_vnet_hdr_len(nc, len);
|
nc->info->set_vnet_hdr_len(nc, len);
|
||||||
}
|
}
|
||||||
|
@ -267,9 +267,6 @@ static void tap_set_vnet_hdr_len(NetClientState *nc, int len)
|
|||||||
TAPState *s = DO_UPCAST(TAPState, nc, nc);
|
TAPState *s = DO_UPCAST(TAPState, nc, nc);
|
||||||
|
|
||||||
assert(nc->info->type == NET_CLIENT_DRIVER_TAP);
|
assert(nc->info->type == NET_CLIENT_DRIVER_TAP);
|
||||||
assert(len == sizeof(struct virtio_net_hdr_mrg_rxbuf) ||
|
|
||||||
len == sizeof(struct virtio_net_hdr) ||
|
|
||||||
len == sizeof(struct virtio_net_hdr_v1_hash));
|
|
||||||
|
|
||||||
tap_fd_set_vnet_hdr_len(s->fd, len);
|
tap_fd_set_vnet_hdr_len(s->fd, len);
|
||||||
s->host_vnet_hdr_len = len;
|
s->host_vnet_hdr_len = len;
|
||||||
|
Loading…
Reference in New Issue
Block a user