Do never set the link down when the vhost-user socket is disconnected.
XXX: currently, it cannot work. It is a reply commit to the former
one that was a RFC on virtio-net. Don't use it.
I do not understand how to get NetdevVhostUserOptions yet.
Signed-off-by: Vincent Jardin <vincent.jardin@ekinops.com>
---
net/vhost-user.c | 4 ++++
qapi/net.json | 1 +
2 files changed, 5 insertions(+)
diff --git a/net/vhost-user.c b/net/vhost-user.c
index 12555518e8..a30cce9a78 100644
--- a/net/vhost-user.c
+++ b/net/vhost-user.c
@@ -251,6 +251,7 @@ static void chr_closed_bh(void *opaque)
NetVhostUserState *s;
Error *err = NULL;
int queues, i;
+ const NetdevVhostUserOptions *vhost_user_opts = NULL;
queues = qemu_find_net_clients_except(name, ncs,
NET_CLIENT_DRIVER_NIC,
@@ -263,6 +264,9 @@ static void chr_closed_bh(void *opaque)
vhost_user_save_acked_features(ncs[i]);
}
+ /* TODO how to get vhost_user_opts ? from the name ? or from ncs ? */
+
+ if (vhost_user_opts->has_linkup && !vhost_user_opts->linkup)
qmp_set_link(name, false, &err);
qemu_chr_fe_set_handlers(&s->chr, NULL, NULL, net_vhost_user_event,
diff --git a/qapi/net.json b/qapi/net.json
index 8095b68fa8..c170f1b7b2 100644
--- a/qapi/net.json
+++ b/qapi/net.json
@@ -480,6 +480,7 @@
'data': {
'chardev': 'str',
'*vhostforce': 'bool',
+ '*linkup': 'bool',
'*queues': 'int' } }
##
--
2.34.1