[v4,4/7] dts: add pci addresses to EAL parameters
Checks
Commit Message
From: Jeremy Spewock <jspewock@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 <jspewock@iol.unh.edu>
---
dts/framework/testbed_model/sut_node.py | 11 +++++++++++
1 file changed, 11 insertions(+)
@@ -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,
)