[PATCH v2] dts: automate VFIO-PCI modprobe
Luca Vizzarro
Luca.Vizzarro at arm.com
Thu Jan 22 14:01:14 CET 2026
Hi Andrew,
this is a good shout. But be mindful of the implementation.
On 26/11/2025 14:16, Andrew Bailey wrote:
> Currently, users must modprobe vfio-pci before running DTS when using a
> non-mellanox NIC. This patch automates the process on test run start up.
>
> Signed-off-by: Andrew Bailey <abailey at iol.unh.edu>
> ---
> dts/framework/test_run.py | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/dts/framework/test_run.py b/dts/framework/test_run.py
> index ff0a12c9ce..9d7b6271c7 100644
> --- a/dts/framework/test_run.py
> +++ b/dts/framework/test_run.py
> @@ -106,6 +106,7 @@
> from types import MethodType
> from typing import ClassVar, Protocol, Union
>
> +from api.capabilities import LinkTopology
> from framework.config.test_run import TestRunConfiguration
> from framework.context import Context, init_ctx
> from framework.exception import InternalError, SkippedTestException, TestCaseVerifyError
> @@ -347,6 +348,13 @@ def next(self) -> State | None:
> test_run.ctx.dpdk.setup()
> test_run.ctx.topology.setup()
>
> + if (
> + test_run.ctx.topology.type != LinkTopology.NO_LINK
> + and test_run.ctx.sut_node.ports[0].config.os_driver_for_dpdk == "vfio-pci"
> + ):
> + test_run.ctx.sut_node.main_session.send_command("modprobe vfio")
> + test_run.ctx.sut_node.main_session.send_command("modprobe vfio-pci")
> +
> if test_run.config.use_virtual_functions:
> test_run.ctx.topology.instantiate_vf_ports()
>
Loading vfio-pci is perfectly fine in my opinion, but like Patrick
already mentioned, this part of the framework should be OS-agnostic,
therefore you should place the logic accordingly in Node (load_drivers)
and LinuxSession for the actual command.
Since this is part of the Node setup, it should be part of Node.setup
and not in test_run.py
Best,
Luca
More information about the dev
mailing list