aboutgitcodebugslistschat
path: root/virtio.c
diff options
context:
space:
mode:
authorLaurent Vivier <lvivier@redhat.com>2024-11-22 17:43:34 +0100
committerStefano Brivio <sbrivio@redhat.com>2024-11-27 16:47:32 +0100
commit28997fcb29b560fc0dcfd91bad5eece3ded5eb72 (patch)
tree34aad38ecc628c37bb88413a3c809498c45ae9cb /virtio.c
parentb2e62f7e85ac77a91daf5d77b7f32198ef0e59c2 (diff)
downloadpasst-28997fcb29b560fc0dcfd91bad5eece3ded5eb72.tar
passt-28997fcb29b560fc0dcfd91bad5eece3ded5eb72.tar.gz
passt-28997fcb29b560fc0dcfd91bad5eece3ded5eb72.tar.bz2
passt-28997fcb29b560fc0dcfd91bad5eece3ded5eb72.tar.lz
passt-28997fcb29b560fc0dcfd91bad5eece3ded5eb72.tar.xz
passt-28997fcb29b560fc0dcfd91bad5eece3ded5eb72.tar.zst
passt-28997fcb29b560fc0dcfd91bad5eece3ded5eb72.zip
vhost-user: add vhost-user
add virtio and vhost-user functions to connect with QEMU. $ ./passt --vhost-user and # qemu-system-x86_64 ... -m 4G \ -object memory-backend-memfd,id=memfd0,share=on,size=4G \ -numa node,memdev=memfd0 \ -chardev socket,id=chr0,path=/tmp/passt_1.socket \ -netdev vhost-user,id=netdev0,chardev=chr0 \ -device virtio-net,mac=9a:2b:2c:2d:2e:2f,netdev=netdev0 \ ... Signed-off-by: Laurent Vivier <lvivier@redhat.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> [sbrivio: as suggested by lvivier, include <netinet/if_ether.h> before including <linux/if_ether.h> as C libraries such as musl __UAPI_DEF_ETHHDR in <netinet/if_ether.h> if they already have a definition of struct ethhdr] Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'virtio.c')
-rw-r--r--virtio.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/virtio.c b/virtio.c
index b23a68c..6a97435 100644
--- a/virtio.c
+++ b/virtio.c
@@ -325,7 +325,6 @@ static bool vring_can_notify(const struct vu_dev *dev, struct vu_virtq *vq)
* @dev: Vhost-user device
* @vq: Virtqueue
*/
-/* cppcheck-suppress unusedFunction */
void vu_queue_notify(const struct vu_dev *dev, struct vu_virtq *vq)
{
if (!vring_can_notify(dev, vq)) {
@@ -498,7 +497,6 @@ static int vu_queue_map_desc(struct vu_dev *dev, struct vu_virtq *vq, unsigned i
*
* Return: -1 if there is an error, 0 otherwise
*/
-/* cppcheck-suppress unusedFunction */
int vu_queue_pop(struct vu_dev *dev, struct vu_virtq *vq, struct vu_virtq_element *elem)
{
unsigned int head;
@@ -556,7 +554,6 @@ void vu_queue_unpop(struct vu_virtq *vq)
* @vq: Virtqueue
* @num: Number of element to unpop
*/
-/* cppcheck-suppress unusedFunction */
bool vu_queue_rewind(struct vu_virtq *vq, unsigned int num)
{
if (num > vq->inuse)
@@ -609,7 +606,6 @@ void vu_queue_fill_by_index(struct vu_virtq *vq, unsigned int index,
* @len: Size of the element
* @idx: Used ring entry index
*/
-/* cppcheck-suppress unusedFunction */
void vu_queue_fill(struct vu_virtq *vq, const struct vu_virtq_element *elem,
unsigned int len, unsigned int idx)
{
@@ -633,7 +629,6 @@ static inline void vring_used_idx_set(struct vu_virtq *vq, uint16_t val)
* @vq: Virtqueue
* @count: Number of entry to flush
*/
-/* cppcheck-suppress unusedFunction */
void vu_queue_flush(struct vu_virtq *vq, unsigned int count)
{
uint16_t old, new;