git: c5588dcb6f - main - Status/2024Q3/vosck.adoc: Add report

From: Lorenzo Salvadore <salvadore_at_FreeBSD.org>
Date: Sun, 22 Sep 2024 15:05:04 UTC
The branch main has been updated by salvadore:

URL: https://cgit.FreeBSD.org/doc/commit/?id=c5588dcb6f2f33b73d67743c53c316c19fd3c95c

commit c5588dcb6f2f33b73d67743c53c316c19fd3c95c
Author:     Danilo Egea Gondolfo <danilo@FreeBSD.org>
AuthorDate: 2024-09-22 15:03:53 +0000
Commit:     Lorenzo Salvadore <salvadore@FreeBSD.org>
CommitDate: 2024-09-22 15:03:53 +0000

    Status/2024Q3/vosck.adoc: Add report
---
 .../en/status/report-2024-07-2024-09/vsock.adoc    | 25 ++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/website/content/en/status/report-2024-07-2024-09/vsock.adoc b/website/content/en/status/report-2024-07-2024-09/vsock.adoc
new file mode 100644
index 0000000000..a67ed7d8dd
--- /dev/null
+++ b/website/content/en/status/report-2024-07-2024-09/vsock.adoc
@@ -0,0 +1,25 @@
+=== VirtIO Sockets and AF_VSOCK support
+
+Links: +
+link:https://github.com/daniloegea/freebsd-src/tree/virtio_vsocks[Source code] URL: link:https://github.com/daniloegea/freebsd-src/tree/virtio_vsocks[]
+
+Contact: Danilo Egea Gondolfo <danilo@FreeBSD.org>
+
+The VirtIO Socket device is used to enable communication between guests and host without networking.
+The AF_VSOCK protocol family enables it to be used through the sockets API.
+
+For the past many months I have been working on a guest driver for the link:https://docs.oasis-open.org/virtio/virtio/v1.2/cs01/virtio-v1.2-cs01.html#x1-43600010[VirtIO Socket] device and an implementation of the AF_VSOCK protocol family.
+Originally, I wanted to get the link:https://github.com/canonical/lxd/[lxd-agent] daemon link:https://github.com/canonical/lxd/issues/11603[working on FreeBSD] but the communication with the LXD host daemon is done through VSOCKs.
+LXD is a nice container and virtual machine manager based on Linux/KVM and my end goal is to make FreeBSD a LXD first-class citizen.
+
+At the moment I have it working well enough to enable the lxd-agent to work.
+I adapted the `golang.org/x/sys` library and the lxd-agent to support AF_VSOCK on FreeBSD.
+Features such as command execution, interactive consoles and file transfer are working.
+
+On Linux, AF_VSOCK can be used with VirtIO, HyperV and VMware sockets as transports.
+I am trying to design my implementation so it will also be possible to use it with different transports in the future.
+
+After getting the current work in a good shape, ideas for future work include integration of AF_VSOCK and HyperV Sockets (which is already supported on FreeBSD through AF_HYPERV), VIRTIO_VSOCK_F_SEQPACKET, VirtIO Socket device for bhyve and the host side of the driver.
+
+I will continue to slowly work on this on my limited free time and hopefully have something more concrete for the next time.
+There is still a lot of work to be done until it become ready for code review.