Hello!
> > a) ovs_in_container does not send VHOST_USER_SET_MEM_TABLE
> Please check if rte_eth_dev_start() is called.
> (rte_eth_dev_start -> virtio_dev_start -> vtpci_reinit_complete ->
> kick_all_vq)
>
> > b) set_vring_addr() does not make sure that dev->mem is set.
> > I am preparing a patch to fix (b).
>
> Yes, it seems like a bug, lack of necessary check.
I've made some progress about (a). It's tricky. This caused by this fragment:
if (vhost_user_read(vhost->sockfd, &msg, len, fds, fd_num) < 0)
return 0;
Here you ignore errors. And this particular request for some reason ends up in
EBADF. The most magic part is that sometimes it just
works...
Not sure if i can finish it today, and here in Russia we have New Year
holidays until 11th.
Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia