aboutgitcodebugslistschat
path: root/vu_common.c
diff options
context:
space:
mode:
Diffstat (limited to 'vu_common.c')
-rw-r--r--vu_common.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/vu_common.c b/vu_common.c
index aa14598..5f2ce18 100644
--- a/vu_common.c
+++ b/vu_common.c
@@ -121,17 +121,16 @@ int vu_collect(const struct vu_dev *vdev, struct vu_virtq *vq,
/**
* vu_set_vnethdr() - set virtio-net headers
- * @vdev: vhost-user device
* @vnethdr: Address of the header to set
* @num_buffers: Number of guest buffers of the frame
*/
-void vu_set_vnethdr(const struct vu_dev *vdev,
- struct virtio_net_hdr_mrg_rxbuf *vnethdr,
- int num_buffers)
+void vu_set_vnethdr(struct virtio_net_hdr_mrg_rxbuf *vnethdr, int num_buffers)
{
vnethdr->hdr = VU_HEADER;
- if (vu_has_feature(vdev, VIRTIO_NET_F_MRG_RXBUF))
- vnethdr->num_buffers = htole16(num_buffers);
+ /* Note: if VIRTIO_NET_F_MRG_RXBUF is not negotiated,
+ * num_buffers must be 1
+ */
+ vnethdr->num_buffers = htole16(num_buffers);
}
/**
@@ -269,7 +268,7 @@ int vu_send_single(const struct ctx *c, const void *buf, size_t size)
goto err;
}
- vu_set_vnethdr(vdev, in_sg[0].iov_base, elem_cnt);
+ vu_set_vnethdr(in_sg[0].iov_base, elem_cnt);
total -= VNET_HLEN;