Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 May 2024 16:12:38 -0400
From:      Emil Tsalapatis <emil@etsalapatis.com>
To:        freebsd-virtualization@freebsd.org
Subject:   [RFC] virtio testing framework
Message-ID:  <CABFh=a7-v_c_x6pGW86z1AX95FmcCWEuWciNxPmAOWs31V=s5Q@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
--000000000000d8a9f60619b18adb
Content-Type: text/plain; charset="UTF-8"

Hi everyone,

    while developing a virtiofs kernel driver I have written a debug virtio
transport to test virtio drivers inside a VM without requiring nested
virtualization or support from the host. The transport allows paravirt
devices to be emulated in local userspace instead of a host, so we can
create paravirt devices and test them as necessary. For virtiofs in
particular, it allows us to reuse the existing FUSE tests since we can now
run both the virtiofs driver and the FUSE server (which is normally in the
host) in a single machine.

I have uploaded the WIP code [here <https://reviews.freebsd.org/D45370>],
and an overview of the design [here
<https://gist.github.com/etsal/4280b6f16c1815d64ffda7ecce0b66f5>]. The
patch has a ways to go, and currently only supports virtio-blk device
emulation as a PoC, but feedback is welcome and appreciated. Please also
let me know if there is interest in using this for testing other virtio
devices apart from virtiofs.

--Emil

--000000000000d8a9f60619b18adb
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi everyone,<br><br>=C2=A0 =C2=A0 while developing a virti=
ofs kernel driver I have written a debug virtio transport to test virtio dr=
ivers inside a VM without requiring nested virtualization or support from=
=20
the host. The transport allows paravirt devices to be emulated in local=20
userspace instead of a host, so we can create paravirt devices and test=20
them as necessary. For virtiofs in particular, it allows us to reuse the
 existing FUSE tests since we can now run both the virtiofs driver and=20
the FUSE server (which is normally in the host) in a single machine.<br><di=
v><br></div><div>I have uploaded the WIP code [<a href=3D"https://reviews.f=
reebsd.org/D45370" target=3D"_blank">here</a>], and an overview of the desi=
gn [<a href=3D"https://gist.github.com/etsal/4280b6f16c1815d64ffda7ecce0b66=
f5" target=3D"_blank">here</a>].
 The patch has a ways to go, and currently only supports virtio-blk=20
device emulation as a PoC, but feedback is welcome and appreciated.=20
Please also let me know if there is interest in using this for testing=20
other virtio devices apart from virtiofs.</div><font color=3D"#888888"><br>=
--Emil</font></div>

--000000000000d8a9f60619b18adb--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CABFh=a7-v_c_x6pGW86z1AX95FmcCWEuWciNxPmAOWs31V=s5Q>