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>