linux_session - Linux Remote Session

Linux OS translator.

Translate OS-unaware calls into Linux calls/utilities. Most of Linux distributions are mostly compliant with POSIX standards, so this module only implements the parts that aren’t. This intermediate module implements the common parts of mostly POSIX compliant distributions.

class LshwConfigurationOutput

Bases: TypedDict

The relevant parts of lshw’s configuration section.

class LshwOutput

Bases: TypedDict

A model of the relevant information from lshw’s json output.

Example

{
...
"businfo" : "pci@0000:08:00.0",
"logicalname" : "enp8s0",
"version" : "00",
"serial" : "52:54:00:59:e1:ac",
...
"configuration" : {
  ...
  "link" : "yes",
  ...
},
...
businfo: str
logicalname: typing_extensions.NotRequired.<class 'str'>
serial: typing_extensions.NotRequired.<class 'str'>
configuration: LshwConfigurationOutput
class LinuxSession

Bases: PosixSession

The implementation of non-Posix compliant parts of Linux.

get_remote_cpus(use_first_core: bool) list[framework.testbed_model.cpu.LogicalCore]

Overrides get_remote_cpus().

get_dpdk_file_prefix(dpdk_prefix: str) str

Overrides get_dpdk_file_prefix().

setup_hugepages(number_of: int, hugepage_size: int, force_first_numa: bool) None

Overrides setup_hugepages().

update_ports(ports: list[framework.testbed_model.port.Port]) None

Overrides update_ports().

configure_port_mtu(mtu: int, port: Port) None

Overrides configure_port_mtu().

configure_ipv4_forwarding(enable: bool) None

Overrides configure_ipv4_forwarding().