Maxime, Thank you so much for the reply.
1. It’s about conforming to the spec. Please read the text as I quoted in the email. A non-conforming implementation does not communicate with a conforming implementation such as VPP. 2. QEMU’s implementation is conforming and it is sending kick for both TX and RX queues upon initialization. Steven On 8/3/17, 2:37 AM, "dev on behalf of Maxime Coquelin" <dev-boun...@dpdk.org on behalf of maxime.coque...@redhat.com> wrote: Hi Steven, On 08/01/2017 06:17 PM, Steven wrote: > Acccording to the spec, https://fossies.org/linux/qemu/docs/specs/vhost-user.txt > > client must start ring upon receiving a kick (that is, detecting that file > descriptor is reachable) on the descriptor specified by > VHOST_USER_SET_VRING_KICK. > > The code sends a kick to the rx queue. It is missing sending a kick for the > tx queue. This patch is to add the missing code to comply with the spec. > > Signed-off-by: Steven <slu...@cisco.com> > --- > drivers/net/virtio/virtio_ethdev.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c > index 00a3122..6362e14 100644 > --- a/drivers/net/virtio/virtio_ethdev.c > +++ b/drivers/net/virtio/virtio_ethdev.c > @@ -1747,6 +1747,11 @@ virtio_dev_start(struct rte_eth_dev *dev) > virtqueue_notify(rxvq->vq); > } > > + for (i = 0; i < dev->data->nb_tx_queues; i++) { > + txvq = dev->data->tx_queues[i]; > + virtqueue_notify(txvq->vq); > + } > + I'm not sure to get why we would need to send Txq notification whereas no packet have been enqueued. That said, I don't think it hurts. Steven, does it solve a real problem you are facing with virtio-user? Yuanhan, what's your opinion on this? Cheers, Maxime