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

Lorenzo Salvadore <[email protected]>
Newsgroups gmane.os.freebsd.devel.cvs.doc
Message-ID <[email protected]>
The branch main has been updated by salvadore:

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

commit c5588dcb6f2f33b73d67743c53c316c19fd3c95c
Author:     Danilo Egea Gondolfo <[email protected]>
AuthorDate: 2024-09-22 15:03:53 +0000
Commit:     Lorenzo Salvadore <[email protected]>
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 <[email protected]>
+
+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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.