From nobody Sun Sep 22 15:05:04 2024 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XBTv45M1Lz5WRbK for ; Sun, 22 Sep 2024 15:05:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XBTv43HsDz4lnP; Sun, 22 Sep 2024 15:05:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727017504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+EiaZkRQuhM70LjYxl6H6DacdM1vBJJDEHt8JrX0iII=; b=Dw25fvzz0aISM86JVlqxbyjH17tglbLhiNXcaLz8daKzUkqOE0l5ghtb0zUwJGILgPY+t5 z2JX+AxvJ0rJs8vr/KtMVgyJYY2c3TpLHjmU31TW7ssmC6Z+MQSqvd5OLbkxWLcgaoGI+8 aO7DUMgwRN1Pc7ZXeLXWxK2zcSnRfAk0bGs3EyuYbP99XCCfpr1N4cNQHmkKAn+My9shC0 jeJgj1KUOEheNdJK/IC4uv95UX6Zec8/CTeNdNxMuhgswp4EhpRAWdGc34B5Y4jDnqMSIL UFlOUluIVFK0aSImZuhoUdPFf6ln2PYsEMr7djkacAmIqm0jtDDS6gK0+y7bhQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727017504; a=rsa-sha256; cv=none; b=Y7Ua/IGNn6Lczcde8DXeOKXCtuxU2H/AQgCCUUNXfOg9WtGeMHOuQMj7H9S/hufYo/A1eJ +dJFemXrwvFjyyoaycYa3JJr7vscwgFw5jsOE4HQbt8/TNlO7afcmpwVDt2DYJIvbu0FVP 3FMVmEmmDk3ZdzYpheLpuEf19AfVSLfYsVXaDnSIFsneHM/2Qx3E9nsmIliuuvlHQogYav qsyKwTPxJucZNEEcGohfxs5F2KvZOBKp3QK5rwJQGUfYBb95sZ96vYSxETzMiWxwYp0obs tr9wWWMQ5jIb/hPl4HARK6m6c5HUF/gfdVSpV9qEpTKTtZLrHIprHfRb+m6v0g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727017504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+EiaZkRQuhM70LjYxl6H6DacdM1vBJJDEHt8JrX0iII=; b=LCmjDW7jdGbD+8yTbOSEsQ+Wzqv+hHOQzWF52to3K9Wp1HjjIneE19RMG5IQS0UaL/6Ax4 UFQuNDNCLg5Sp11ym3m55j3FTPtkUl0drA2/RLBN2fd7UeZFnv5Lb5EnhQhBkidHX3ksKg ei6mWsD1J8L1ruclPGPcnVU48G5djueW+btwB33uUhu0z0/YeH/nTwr6VRBiKIMxrgPHVV qSPO1UaoiOBQ7Es8g50VwI1IuRE7bIKldmgb0ISh+7IojxdJ/RYSsDt1IPq/Nr5++pifNd gIGGBXyzTkC0A5Eamcw2/UunmWYfjqTodePv8FMpa41aRCPZjFzKHaYBJrjZDA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XBTv42wDFz1KyC; Sun, 22 Sep 2024 15:05:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48MF549F064396; Sun, 22 Sep 2024 15:05:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48MF54LN064393; Sun, 22 Sep 2024 15:05:04 GMT (envelope-from git) Date: Sun, 22 Sep 2024 15:05:04 GMT Message-Id: <202409221505.48MF54LN064393@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Lorenzo Salvadore Subject: git: c5588dcb6f - main - Status/2024Q3/vosck.adoc: Add report List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: salvadore X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c5588dcb6f2f33b73d67743c53c316c19fd3c95c Auto-Submitted: auto-generated The branch main has been updated by salvadore: URL: https://cgit.FreeBSD.org/doc/commit/?id=c5588dcb6f2f33b73d67743c53c316c19fd3c95c commit c5588dcb6f2f33b73d67743c53c316c19fd3c95c Author: Danilo Egea Gondolfo AuthorDate: 2024-09-22 15:03:53 +0000 Commit: Lorenzo Salvadore 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 + +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.