[dpdk-dev] [PATCH 5/8] driver/virtio:enqueue vhost TX offload
David Marchand
david.marchand at 6wind.com
Thu Oct 29 15:15:36 CET 2015
On Wed, Oct 21, 2015 at 6:46 AM, Jijiang Liu <jijiang.liu at intel.com> wrote:
> @@ -221,6 +277,11 @@ virtqueue_enqueue_xmit(struct virtqueue *txvq, struct
> rte_mbuf *cookie)
> dxp->cookie = (void *)cookie;
> dxp->ndescs = needed;
>
> + if (vtpci_with_feature(txvq->hw, VIRTIO_NET_F_CSUM)) {
> + if (virtqueue_enqueue_offload(txvq, cookie, idx,
> head_size) < 0)
> + return -EPERM;
> + }
> +
> start_dp = txvq->vq_ring.desc;
> start_dp[idx].addr =
> txvq->virtio_net_hdr_mem + idx * head_size;
>
If the driver correctly reports negotiated offload capabilities (see my
previous comment on patch 3), there is no need for the test on
VIRTIO_NET_F_CSUM, because application is not supposed to ask for offloads
on driver that do not support them.
Same logic would apply to virtqueue_enqueue_offload() function.
In the end, we could always call this function (or move the code here).
--
David Marchand
More information about the dev
mailing list