On 2015/11/19 11:18, Yuanhan Liu wrote: > On Thu, Nov 19, 2015 at 11:03:50AM +0900, Tetsuya Mukawa wrote: >> On 2015/11/17 22:29, Yuanhan Liu wrote: >>> On Fri, Nov 13, 2015 at 02:20:30PM +0900, Tetsuya Mukawa wrote: >>>> These variables are needed to be able to manage one of virtio devices >>>> using both vhost library APIs and vhost PMD. >>>> For example, if vhost PMD uses current callback handler and private data >>>> provided by vhost library, A DPDK application that links vhost library >>>> cannot use some of vhost library APIs. >>> Can you be more specific about this? >>> >>> --yliu >> How about like below? >> >> commit log: >> Currently, when virtio device is created and destroyed, vhost library >> will call one of callback handlers. >> The vhost PMD need to use this pair of callback handlers to know which >> virtio devices are connected actually. >> Because we can register only one pair of callbacks to vhost library, if >> the PMD use it, DPDK applications >> cannot have a way to know the events. > Will (and why) the two co-exist at same time?
Yes it is. Sure, I will describe below in commit log. Because we cannot map some of vhost library APIs to ethdev APIs, in some cases, we still need to use vhost library APIs for a port created by the vhost PMD. One of example is rte_vhost_enable_guest_notification(). Thanks, Tetsuya > > --yliu > >> This may break legacy DPDK >> applications that uses vhost library. >> To prevent it, this patch adds one more pair of callbacks to vhost >> library especially for the vhost PMD. >> With the patch, legacy applications can use the vhost PMD even if they >> need additional specific handling >> for virtio device creation and destruction. >> For example, legacy application can call >> rte_vhost_enable_guest_notification() in callbacks to change setting. >> >> Tetsuya