diff options
author | 2016-10-13 10:02:19 +0200 | |
---|---|---|
committer | 2016-10-13 10:45:13 +0000 | |
commit | 10eb1ea468496807432734814f264139fe3299dc (patch) | |
tree | 34d267377646e3de1f5744337d3b3ffce3e36a0d /vnet | |
parent | 7e46a4dc841f635e45b8e8739338de407621667d (diff) |
vhost-user: Add reconnect support
QEMU 2.7 introduces reconnect support. However it doesn't send
last state of last_avail_idx in the SET_VRING_BASE.
With this patch we are overriding SET_VRING_BASE with value taken
from used->idx.
It is a bit hackish as it basically overrides SET_VRING_BASE
provided value but it should work in most of the cases.
This is what author of reconnect code is also suggesting in his post:
https://lists.gnu.org/archive/html/qemu-devel/2016-06/msg01495.html
Change-Id: I10e5f401c409d2989bf6c43eaea377800a9c76df
Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'vnet')
-rw-r--r-- | vnet/vnet/devices/virtio/vhost-user.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/vnet/vnet/devices/virtio/vhost-user.c b/vnet/vnet/devices/virtio/vhost-user.c index 9b0db749..a3dacd13 100644 --- a/vnet/vnet/devices/virtio/vhost-user.c +++ b/vnet/vnet/devices/virtio/vhost-user.c @@ -588,6 +588,7 @@ vhost_user_socket_read (unix_file_t * uf) } vui->vrings[msg.state.index].last_used_idx = + vui->vrings[msg.state.index].last_avail_idx = vui->vrings[msg.state.index].used->idx; /* tell driver that we don't want interrupts */ |