[dpdk-dev] [PATCH] vhost: fix checking of device features

Maxime Coquelin maxime.coquelin at redhat.com
Wed Jun 28 14:54:43 CEST 2017



On 06/28/2017 02:40 PM, Ivan Dyukov wrote:
> To compare enabled features in current device we must use bit
> mask instead of bit position.
> 
> CC: stable at dpdk.org
> Fixes: c843af3aa13e ("vhost: access header only")
> 
> Signed-off-by: Ivan Dyukov <i.dyukov at samsung.com>
> ---
>   lib/librte_vhost/virtio_net.c | 8 +++++---
>   1 file changed, 5 insertions(+), 3 deletions(-)

Thanks for the fix Ivan, and sorry for introducing this bug.
Out of curiosity, did you noticed it because it broke offloading,
or just by code review?

Reviewed-by: Maxime Coquelin <maxime.coquelin at redhat.com>

> diff --git a/lib/librte_vhost/virtio_net.c b/lib/librte_vhost/virtio_net.c
> index ebfda1c..4fae4c1 100644
> --- a/lib/librte_vhost/virtio_net.c
> +++ b/lib/librte_vhost/virtio_net.c
> @@ -601,9 +601,11 @@ static inline bool
>   virtio_net_with_host_offload(struct virtio_net *dev)
>   {
>   	if (dev->features &
> -			(VIRTIO_NET_F_CSUM | VIRTIO_NET_F_HOST_ECN |
> -			 VIRTIO_NET_F_HOST_TSO4 | VIRTIO_NET_F_HOST_TSO6 |
> -			 VIRTIO_NET_F_HOST_UFO))
> +			((1ULL << VIRTIO_NET_F_CSUM) |
> +			 (1ULL << VIRTIO_NET_F_HOST_ECN) |
> +			 (1ULL << VIRTIO_NET_F_HOST_TSO4) |
> +			 (1ULL << VIRTIO_NET_F_HOST_TSO6) |
> +			 (1ULL << VIRTIO_NET_F_HOST_UFO)))
>   		return true;
>   
>   	return false;
> 



More information about the dev mailing list