Reviewed-by: Juraj Linkeš <juraj.lin...@pantheon.tech>

On Mon, Dec 18, 2023 at 7:13 PM <jspew...@iol.unh.edu> wrote:
>
> From: Jeremy Spewock <jspew...@iol.unh.edu>
>
> Added allow list to the EAL parameters created in DTS to ensure that
> only the relevant PCI devices are considered when launching DPDK
> applications.
>
> Signed-off-by: Jeremy Spewock <jspew...@iol.unh.edu>
> ---
>  dts/framework/testbed_model/sut_node.py | 11 +++++++++++
>  1 file changed, 11 insertions(+)
>
> diff --git a/dts/framework/testbed_model/sut_node.py 
> b/dts/framework/testbed_model/sut_node.py
> index 9c92232d9e..77caea2fc9 100644
> --- a/dts/framework/testbed_model/sut_node.py
> +++ b/dts/framework/testbed_model/sut_node.py
> @@ -20,6 +20,7 @@
>  from framework.utils import MesonArgs
>
>  from .hw import LogicalCoreCount, LogicalCoreList, VirtualDevice
> +from .hw.port import Port
>  from .node import Node
>
>
> @@ -31,6 +32,7 @@ def __init__(
>          prefix: str,
>          no_pci: bool,
>          vdevs: list[VirtualDevice],
> +        ports: list[Port],
>          other_eal_param: str,
>      ):
>          """
> @@ -46,6 +48,7 @@ def __init__(
>                              VirtualDevice('net_ring0'),
>                              VirtualDevice('net_ring1')
>                          ]
> +        :param ports: the list of ports to allow.
>          :param other_eal_param: user defined DPDK eal parameters, eg:
>                          other_eal_param='--single-file-segments'
>          """
> @@ -56,6 +59,7 @@ def __init__(
>              self._prefix = f"--file-prefix={prefix}"
>          self._no_pci = "--no-pci" if no_pci else ""
>          self._vdevs = " ".join(f"--vdev {vdev}" for vdev in vdevs)
> +        self._ports = " ".join(f"-a {port.pci}" for port in ports)
>          self._other_eal_param = other_eal_param
>
>      def __str__(self) -> str:
> @@ -65,6 +69,7 @@ def __str__(self) -> str:
>              f"{self._prefix} "
>              f"{self._no_pci} "
>              f"{self._vdevs} "
> +            f"{self._ports} "
>              f"{self._other_eal_param}"
>          )
>
> @@ -294,6 +299,7 @@ def create_eal_parameters(
>          append_prefix_timestamp: bool = True,
>          no_pci: bool = False,
>          vdevs: list[VirtualDevice] = None,
> +        ports: list[Port] | None = None,
>          other_eal_param: str = "",
>      ) -> "EalParameters":
>          """
> @@ -317,6 +323,7 @@ def create_eal_parameters(
>                              VirtualDevice('net_ring0'),
>                              VirtualDevice('net_ring1')
>                          ]
> +        :param ports: the list of ports to allow.
>          :param other_eal_param: user defined DPDK eal parameters, eg:
>                          other_eal_param='--single-file-segments'
>          :return: eal param string, eg:
> @@ -334,12 +341,16 @@ def create_eal_parameters(
>          if vdevs is None:
>              vdevs = []
>
> +        if ports is None:
> +            ports = self.ports
> +
>          return EalParameters(
>              lcore_list=lcore_list,
>              memory_channels=self.config.memory_channels,
>              prefix=prefix,
>              no_pci=no_pci,
>              vdevs=vdevs,
> +            ports=ports,
>              other_eal_param=other_eal_param,
>          )
>
> --
> 2.43.0
>

Reply via email to