| 24 | |
| 25 | |
| 26 | class EalParameters(object): |
| 27 | def __init__( |
| 28 | self, |
| 29 | lcore_list: LogicalCoreList, |
| 30 | memory_channels: int, |
| 31 | prefix: str, |
| 32 | no_pci: bool, |
| 33 | vdevs: list[VirtualDevice], |
| 34 | other_eal_param: str, |
| 35 | ): |
| 36 | """ |
| 37 | Generate eal parameters character string; |
| 38 | :param lcore_list: the list of logical cores to use. |
| 39 | :param memory_channels: the number of memory channels to use. |
| 40 | :param prefix: set file prefix string, eg: |
| 41 | prefix='vf' |
| 42 | :param no_pci: switch of disable PCI bus eg: |
| 43 | no_pci=True |
| 44 | :param vdevs: virtual device list, eg: |
| 45 | vdevs=[ |
| 46 | VirtualDevice('net_ring0'), |
| 47 | VirtualDevice('net_ring1') |
| 48 | ] |
| 49 | :param other_eal_param: user defined DPDK eal parameters, eg: |
| 50 | other_eal_param='--single-file-segments' |
| 51 | """ |
| 52 | self._lcore_list = f"-l {lcore_list}" |
| 53 | self._memory_channels = f"-n {memory_channels}" |
| 54 | self._prefix = prefix |
| 55 | if prefix: |
| 56 | self._prefix = f"--file-prefix={prefix}" |
| 57 | self._no_pci = "--no-pci" if no_pci else "" |
| 58 | self._vdevs = " ".join(f"--vdev {vdev}" for vdev in vdevs) |
| 59 | self._other_eal_param = other_eal_param |
| 60 | |
| 61 | def __str__(self) -> str: |
| 62 | return ( |
| 63 | f"{self._lcore_list} " |
| 64 | f"{self._memory_channels} " |
| 65 | f"{self._prefix} " |
| 66 | f"{self._no_pci} " |
| 67 | f"{self._vdevs} " |
| 68 | f"{self._other_eal_param}" |
| 69 | ) |
| 70 | |
| 71 | |
| 72 | class SutNode(Node): |
no outgoing calls
no test coverage detected