[dpdk-dev] [PATCH v5 1/3] vhost: Add callback and private data for vhost PMD

Rich Lane rich.lane at bigswitch.com
Tue Dec 22 10:38:29 CET 2015

On Mon, Dec 21, 2015 at 9:47 PM, Yuanhan Liu <yuanhan.liu at linux.intel.com>

> On Mon, Dec 21, 2015 at 08:47:28PM -0800, Rich Lane wrote:
> > The queue state change callback is the one new API that needs to be
> > added because
> > normal NICs don't have this behavior.
> Again I'd ask, will vring_state_changed() be enough, when above issues
> are resolved: vring_state_changed() will be invoked at new_device()/
> destroy_device(), and of course, ethtool change?

It would be sufficient. It is not a great API though, because it requires
application to do the conversion from struct virtio_net to a DPDK port
and from a virtqueue index to a DPDK queue id and direction. Also, the
implementation often makes this callback when the vring state has not
changed (enabled -> enabled and disabled -> disabled).

If you're asking about using vring_state_changed() _instead_ of the link
event and rte_eth_dev_socket_id(), then yes, it still works. I'd only
that a stopgap until the real ethdev APIs are implemented.

I'd suggest to add RTE_ETH_EVENT_QUEUE_STATE_CHANGE rather than
create another callback registration API.

Perhaps we could merge the basic PMD which I think is pretty solid and then
continue the API discussion with patches to it.

More information about the dev mailing list