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

Tetsuya Mukawa mukawa at igel.co.jp
Tue Nov 10 04:13:54 CET 2015


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



More information about the dev mailing list