virtio: use zeroed memory for simple Tx header
For simple TX the virtio-net header must be zeroed, but it was using memory that had been initialized with indirect descriptor tables. This resulted in "unsupported gso type" errors from librte_vhost. We can use the same memory for every descriptor to save cachelines in the vswitch. Fixes: 6dc5de3a ("virtio: use indirect ring elements") Signed-off-by: Rich Lane <rich.lane@bigswitch.com> Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Acked-by: Jianfeng Tan <jianfeng.tan@intel.com>
This commit is contained in:
parent
71dc571efd
commit
610e0a8b62
@ -377,7 +377,7 @@ virtio_dev_vring_start(struct virtqueue *vq, int queue_type)
|
||||
vq->vq_ring.desc[i + mid_idx].next = i;
|
||||
vq->vq_ring.desc[i + mid_idx].addr =
|
||||
vq->virtio_net_hdr_mem +
|
||||
i * vq->hw->vtnet_hdr_size;
|
||||
offsetof(struct virtio_tx_region, tx_hdr);
|
||||
vq->vq_ring.desc[i + mid_idx].len =
|
||||
vq->hw->vtnet_hdr_size;
|
||||
vq->vq_ring.desc[i + mid_idx].flags =
|
||||
|
Loading…
x
Reference in New Issue
Block a user