On 2015/11/10 3:16, Aaron Conole wrote: > Greetings, > > Tetsuya Mukawa <mukawa at igel.co.jp> writes: >> 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. To avoid it, callback and private >> data for vhost PMD are needed. >> >> Signed-off-by: Tetsuya Mukawa <mukawa at igel.co.jp> >> --- >> lib/librte_vhost/rte_vhost_version.map | 6 +++ >> lib/librte_vhost/rte_virtio_net.h | 3 ++ >> lib/librte_vhost/vhost_user/virtio-net-user.c | 13 +++---- >> lib/librte_vhost/virtio-net.c | 56 >> +++++++++++++++++++++++++-- >> lib/librte_vhost/virtio-net.h | 4 +- >> 5 files changed, 70 insertions(+), 12 deletions(-) >> >> diff --git a/lib/librte_vhost/rte_vhost_version.map >> b/lib/librte_vhost/rte_vhost_version.map >> index 3d8709e..00a9ce5 100644 >> --- a/lib/librte_vhost/rte_vhost_version.map >> +++ b/lib/librte_vhost/rte_vhost_version.map >> @@ -20,3 +20,9 @@ DPDK_2.1 { >> rte_vhost_driver_unregister; >> >> } DPDK_2.0; >> + >> +DPDK_2.2 { >> + global: >> + >> + rte_vhost_driver_pmd_callback_register; >> +} DPDK_2.1; >> diff --git a/lib/librte_vhost/rte_virtio_net.h >> b/lib/librte_vhost/rte_virtio_net.h >> index 5687452..3ef6e58 100644 >> --- a/lib/librte_vhost/rte_virtio_net.h >> +++ b/lib/librte_vhost/rte_virtio_net.h >> @@ -128,6 +128,7 @@ struct virtio_net { >> char ifname[IF_NAME_SZ]; /**< Name of the tap >> device or socket path. */ >> uint32_t virt_qp_nb; /**< number of queue pair we >> have allocated */ >> void *priv; /**< private context */ >> + void *pmd_priv; /**< private context for vhost >> PMD */ >> struct vhost_virtqueue *virtqueue[VHOST_MAX_QUEUE_PAIRS * 2]; /**< >> Contains all virtqueue information. */ >> } __rte_cache_aligned; > Sorry if I'm missing something, but this is an ABI breaker, isn't it? I > think this needs the RTE_NEXT_ABI tag around it.
Hi Aaron, Thanks for reviewing. Yes, your are correct. I guess I can implement vhost PMD without this variable, so I will remove it. Thanks, Tetsuya