[dpdk-dev] [PATCH] vhost: fix ANY_LAYOUT declaration

Tan, Jianfeng jianfeng.tan at intel.com
Fri Jan 19 18:54:52 CET 2018



On 1/19/2018 10:42 PM, Yuanhan Liu wrote:
> On Fri, Jan 19, 2018 at 02:02:50PM -0500, Zhihong Wang wrote:
>> The VIRTIO_F_ANY_LAYOUT feature indicates the device accepts arbitrary
>> descriptor layouts. The vhost-user lib already supports it, but the
>> feature declaration is missing. This patch fixes the mismatch.
> I remembered there was a long discussion one year ago, that we can't
> blindly set this feature, as this flag is reserved (thus should not
> be set) for virtio 1.0.

We might need to read that old thread again. But as you said, this flag 
is reserved for 1.0, but not used for other purpose yet. So that the 
feature is negotiated does not affect anything, no?

>
> We should set it when v1.0 is not enabled.

But in fact, vhost kernel reports supported feature bits consisting of 
ANY_LAYOUT and VERSION_1.

>   However, as you know, v1.0 is also enabled by default in DPDK vhost-user.

Even v1.0 is used, the feature negotiated between virtio-net (kernel) 
and vhost kernel indeed contains ANY_LAYOUT. I suppose we shall do as 
the de-facto way.

Thanks,
Jianfeng

>
> 	--yliu
>> Signed-off-by: Zhihong Wang <zhihong.wang at intel.com>
>> ---
>>   lib/librte_vhost/vhost.h | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h
>> index b2bf0e8..57a9bea 100644
>> --- a/lib/librte_vhost/vhost.h
>> +++ b/lib/librte_vhost/vhost.h
>> @@ -170,6 +170,7 @@ struct vhost_msg {
>>   
>>   /* Features supported by this builtin vhost-user net driver. */
>>   #define VIRTIO_NET_SUPPORTED_FEATURES ((1ULL << VIRTIO_NET_F_MRG_RXBUF) | \
>> +				(1ULL << VIRTIO_F_ANY_LAYOUT) | \
>>   				(1ULL << VIRTIO_NET_F_CTRL_VQ) | \
>>   				(1ULL << VIRTIO_NET_F_CTRL_RX) | \
>>   				(1ULL << VIRTIO_NET_F_GUEST_ANNOUNCE) | \
>> -- 
>> 2.7.5



More information about the dev mailing list