mirror of https://github.com/xemu-project/xemu.git
vhost user:support vhost user nic for non msi guests
Currently, vhost user nic doesn't support non msi guests(like pxe stage) by default. Vhost user nic can't fall back to qemu like normal vhost net nic does. So we should enable it for non msi guests. Signed-off-by: Haifeng Gao <gaohaifeng.gao@huawei.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
2e5feadbf8
commit
24f938a682
net
|
@ -18,7 +18,6 @@
|
|||
typedef struct VhostUserState {
|
||||
NetClientState nc;
|
||||
CharDriverState *chr;
|
||||
bool vhostforce;
|
||||
VHostNetState *vhost_net;
|
||||
} VhostUserState;
|
||||
|
||||
|
@ -51,7 +50,7 @@ static int vhost_user_start(VhostUserState *s)
|
|||
options.backend_type = VHOST_BACKEND_TYPE_USER;
|
||||
options.net_backend = &s->nc;
|
||||
options.opaque = s->chr;
|
||||
options.force = s->vhostforce;
|
||||
options.force = true;
|
||||
|
||||
s->vhost_net = vhost_net_init(&options);
|
||||
|
||||
|
@ -133,8 +132,7 @@ static void net_vhost_user_event(void *opaque, int event)
|
|||
}
|
||||
|
||||
static int net_vhost_user_init(NetClientState *peer, const char *device,
|
||||
const char *name, CharDriverState *chr,
|
||||
bool vhostforce)
|
||||
const char *name, CharDriverState *chr)
|
||||
{
|
||||
NetClientState *nc;
|
||||
VhostUserState *s;
|
||||
|
@ -149,7 +147,6 @@ static int net_vhost_user_init(NetClientState *peer, const char *device,
|
|||
/* We don't provide a receive callback */
|
||||
s->nc.receive_disabled = 1;
|
||||
s->chr = chr;
|
||||
s->vhostforce = vhostforce;
|
||||
|
||||
qemu_chr_add_handlers(s->chr, NULL, NULL, net_vhost_user_event, s);
|
||||
|
||||
|
@ -230,7 +227,6 @@ int net_init_vhost_user(const NetClientOptions *opts, const char *name,
|
|||
{
|
||||
const NetdevVhostUserOptions *vhost_user_opts;
|
||||
CharDriverState *chr;
|
||||
bool vhostforce;
|
||||
|
||||
assert(opts->kind == NET_CLIENT_OPTIONS_KIND_VHOST_USER);
|
||||
vhost_user_opts = opts->vhost_user;
|
||||
|
@ -247,12 +243,6 @@ int net_init_vhost_user(const NetClientOptions *opts, const char *name,
|
|||
return -1;
|
||||
}
|
||||
|
||||
/* vhostforce for non-MSIX */
|
||||
if (vhost_user_opts->has_vhostforce) {
|
||||
vhostforce = vhost_user_opts->vhostforce;
|
||||
} else {
|
||||
vhostforce = false;
|
||||
}
|
||||
|
||||
return net_vhost_user_init(peer, "vhost_user", name, chr, vhostforce);
|
||||
return net_vhost_user_init(peer, "vhost_user", name, chr);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue