> > vhost since dpdk17.02 + qemu2.7 and above will cause failures of > new connection when negotiating to set MQ. (one queue pair works > well).Because there exist some bugs in qemu code when introducing > VHOST_USER_PROTOCOL_F_REPLY_ACK to qemu. when dealing with the > vhost > message VHOST_USER_SET_MEM_TABLE for the second time, qemu indeed > doesn't send the messge (The message needs to be sent only once)but > still will be waiting for dpdk's reply ack, then, qemu is always > freezing. DPDK code works in the right way. But the feature > VHOST_USER_PROTOCOL_F_REPLY_ACK has to be disabled by default at the > dpdk side in order to avoid the feature support of DPDK + qemu at > the same time. if doing like that, MQ can works well. Once Qemu bugs > have been fixed and upstreamed, we can enable it. > > Fixes: 73c8f9f69c6c("vhost: introduce reply ack feature") > > Reported-by: Loftus, Ciara <ciara.lof...@intel.com> > Signed-off-by: Zhiyong Yang <zhiyong.y...@intel.com>
Thanks for the fix Zhiyong. I tested the patch in my environment and it resolves the issue I was seeing. Tested-by: Ciara Loftus <ciara.lof...@intel.com> Thanks, Ciara > --- > lib/librte_vhost/vhost_user.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/librte_vhost/vhost_user.h b/lib/librte_vhost/vhost_user.h > index 2ba22db..a3d2900 100644 > --- a/lib/librte_vhost/vhost_user.h > +++ b/lib/librte_vhost/vhost_user.h > @@ -52,7 +52,7 @@ > #define VHOST_USER_PROTOCOL_FEATURES ((1ULL << > VHOST_USER_PROTOCOL_F_MQ) | \ > (1ULL << > VHOST_USER_PROTOCOL_F_LOG_SHMFD) |\ > (1ULL << > VHOST_USER_PROTOCOL_F_RARP) | \ > - (1ULL << > VHOST_USER_PROTOCOL_F_REPLY_ACK) | \ > + (0ULL << > VHOST_USER_PROTOCOL_F_REPLY_ACK) | \ > (1ULL << > VHOST_USER_PROTOCOL_F_NET_MTU)) > > typedef enum VhostUserRequest { > -- > 2.7.4