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 >