[PATCH] vhost: fix net header settings in vhost datapath

Maxime Coquelin maxime.coquelin at redhat.com
Fri Feb 3 15:43:31 CET 2023



On 1/4/23 03:39, Wenwu Ma wrote:
> In vhost sync batch enqueue, the "num_buffers" of
> virtio net header is not be set, but it should be
> set to 1 if the mrg_rxbuf feature is turned on,
> This patch fix the issue.
> 
> Fixes: ef861692c398 ("vhost: add packed ring batch enqueue")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Wenwu Ma <wenwux.ma at intel.com>
> ---
>   lib/vhost/virtio_net.c | 6 ++++++
>   1 file changed, 6 insertions(+)
> 
> diff --git a/lib/vhost/virtio_net.c b/lib/vhost/virtio_net.c
> index cf796183a0..61d9052a57 100644
> --- a/lib/vhost/virtio_net.c
> +++ b/lib/vhost/virtio_net.c
> @@ -1493,6 +1493,12 @@ virtio_dev_rx_batch_packed_copy(struct virtio_net *dev,
>   			sizeof(struct virtio_net_hdr_mrg_rxbuf);
>   	}
>   
> +	if (rxvq_is_mergeable(dev)) {
> +		vhost_for_each_try_unroll(i, 0, PACKED_BATCH_SIZE) {
> +			ASSIGN_UNLESS_EQUAL(hdrs[i]->num_buffers, 1);
> +		}
> +	}
> +
>   	vhost_for_each_try_unroll(i, 0, PACKED_BATCH_SIZE)
>   		virtio_enqueue_offload(pkts[i], &hdrs[i]->hdr);
>   

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

Thanks,
Maxime



More information about the stable mailing list