aboutgitcodebugslistschat
path: root/passt.c
diff options
context:
space:
mode:
authorLaurent Vivier <lvivier@redhat.com>2022-11-08 21:16:46 +0100
committerLaurent Vivier <lvivier@redhat.com>2024-03-12 11:54:26 +0100
commit37f457a76c8f412a0a2ceb79c77b91eea24ef341 (patch)
tree9922b7899d7c28b5995c4c6b9f750870b7c241e4 /passt.c
parentb2229bd24ffc75b2538073958221e1ae82ac0767 (diff)
downloadpasst-37f457a76c8f412a0a2ceb79c77b91eea24ef341.tar
passt-37f457a76c8f412a0a2ceb79c77b91eea24ef341.tar.gz
passt-37f457a76c8f412a0a2ceb79c77b91eea24ef341.tar.bz2
passt-37f457a76c8f412a0a2ceb79c77b91eea24ef341.tar.lz
passt-37f457a76c8f412a0a2ceb79c77b91eea24ef341.tar.xz
passt-37f457a76c8f412a0a2ceb79c77b91eea24ef341.tar.zst
passt-37f457a76c8f412a0a2ceb79c77b91eea24ef341.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>
Diffstat (limited to 'passt.c')
-rw-r--r--passt.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/passt.c b/passt.c
index 7da05c7..2dc4f16 100644
--- a/passt.c
+++ b/passt.c
@@ -280,6 +280,7 @@ int main(int argc, char **argv)
pasta_netns_quit_init(&c);
tap_sock_init(&c);
+ vu_init(&c);
secret_init(&c);
@@ -390,6 +391,12 @@ loop:
case EPOLL_TYPE_ICMPV6:
icmp_sock_handler(&c, AF_INET6, ref);
break;
+ case EPOLL_TYPE_VHOST_CMD:
+ tap_handler_vu(&c, eventmask);
+ break;
+ case EPOLL_TYPE_VHOST_KICK:
+ vu_kick_cb(&c, ref);
+ break;
default:
/* Can't happen */
ASSERT(0);