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

Yuanhan Liu yliu at fridaylinux.org
Fri Jan 26 14:04:55 CET 2018


On Sat, Jan 20, 2018 at 01:54:52AM +0800, Tan, Jianfeng wrote:
> 
> 
> 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.

Yes, I was aware of that, and that was also one my points before.

I now also release that it's a must from migration from vhost-net to
vhost-user. Thus, I'd like to merge it this time. So

Applied to dpdk-next-virtio.

Thanks.

	--yliu

> 
> >  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