mirror of
https://github.com/xemu-project/xemu.git
synced 2024-12-03 17:11:01 +00:00
vhost_net: do not assume nvqs is always 2
This patch switches to initialize dev.nvqs from the VhostNetOptions instead of assuming it was 2. This is useful for implementing control virtqueue support which will be a single vhost_net structure with a single cvq. Note that nvqs is still set to 2 for all users and this patch does not change functionality. Reviewed-by: Stefano Garzarella <sgarzare@redhat.com> Reviewed-by: Eli Cohen <elic@nvidia.com> Signed-off-by: Jason Wang <jasowang@redhat.com> Message-Id: <20210903091031.47303-6-jasowang@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
5fc13603a6
commit
6a756d1495
@ -165,9 +165,9 @@ struct vhost_net *vhost_net_init(VhostNetOptions *options)
|
||||
goto fail;
|
||||
}
|
||||
net->nc = options->net_backend;
|
||||
net->dev.nvqs = options->nvqs;
|
||||
|
||||
net->dev.max_queues = 1;
|
||||
net->dev.nvqs = 2;
|
||||
net->dev.vqs = net->vqs;
|
||||
|
||||
if (backend_kernel) {
|
||||
|
@ -14,6 +14,7 @@ typedef struct VhostNetOptions {
|
||||
VhostBackendType backend_type;
|
||||
NetClientState *net_backend;
|
||||
uint32_t busyloop_timeout;
|
||||
unsigned int nvqs;
|
||||
void *opaque;
|
||||
} VhostNetOptions;
|
||||
|
||||
|
@ -749,6 +749,7 @@ static void net_init_tap_one(const NetdevTapOptions *tap, NetClientState *peer,
|
||||
qemu_set_nonblock(vhostfd);
|
||||
}
|
||||
options.opaque = (void *)(uintptr_t)vhostfd;
|
||||
options.nvqs = 2;
|
||||
|
||||
s->vhost_net = vhost_net_init(&options);
|
||||
if (!s->vhost_net) {
|
||||
|
@ -85,6 +85,7 @@ static int vhost_user_start(int queues, NetClientState *ncs[],
|
||||
options.net_backend = ncs[i];
|
||||
options.opaque = be;
|
||||
options.busyloop_timeout = 0;
|
||||
options.nvqs = 2;
|
||||
net = vhost_net_init(&options);
|
||||
if (!net) {
|
||||
error_report("failed to init vhost_net for queue %d", i);
|
||||
|
@ -104,6 +104,7 @@ static int vhost_vdpa_add(NetClientState *ncs, void *be)
|
||||
options.net_backend = ncs;
|
||||
options.opaque = be;
|
||||
options.busyloop_timeout = 0;
|
||||
options.nvqs = 2;
|
||||
|
||||
net = vhost_net_init(&options);
|
||||
if (!net) {
|
||||
|
Loading…
Reference in New Issue
Block a user