4.4.7. Intel e1000 NIC#

4.4.7.1. System#

class simbricks.components.e1000.system.e1000.IntelE1000NIC(s: System)#
add_if(interface: EthInterface | PCIeDeviceInterface) → None#
add_ipv4(ip: str) → None#
channels() → list[Channel]#
connect_eth_peer_if(peer_i: EthInterface) → EthChannel#
classmethod fromJSON(system: System, json_obj: dict) → Self#
id() → int#
interfaces() → list[Interface]#
async prepare(inst: inst_base.Instantiation) → None#
toJSON() → dict#
class simbricks.components.e1000.system.e1000.E1000LinuxHost(sys)#
add_app(a: BaseLinuxApplication) → None#
add_config_file(config_file: ConfigFile)#
add_disk(disk: DiskImage) → None#
add_if(interface: Interface) → None#
channels() → list[Channel]#
cleanup_cmds(inst: instantiation.Instantiation) → list[str]#

Commands to run to cleanup node.

config_files(inst: instantiation.Instantiation) → list[disk_images.ConfigFile]#

Additional files to put inside the node, which are mounted under /tmp/guest/.

config_str(inst: instantiation.Instantiation) → str#
connect_pcie_dev(dev: PCIeSimpleDevice) → PCIeChannel#
classmethod fromJSON(system: System, json_obj: dict) → Self#
id() → int#
input_artifact_files() → list[str]#

Paths of the local files needed, relative to where the script defining them runs.

interfaces() → list[Interface]#
async prepare(inst: instantiation.Instantiation) → None#
prepare_post_cp(inst) → list[str]#

Commands to run to prepare node after checkpoint restore.

prepare_pre_cp(inst: instantiation.Instantiation) → list[str]#

Commands to run to prepare node before checkpointing.

run_cmds(inst: instantiation.Instantiation) → list[str]#

Commands to run on node.

toJSON() → dict#

4.4.7.2. Simulation (Behavioral Model)#

class simbricks.components.e1000.simulation.behavioral.e1000.E1000NIC(simulation: Simulation)#
toJSON() → dict#
classmethod fromJSON(simulation: Simulation, json_obj: dict) → Self#
add(nic: IntelE1000NIC)#
run_cmd(inst: Instantiation) → str#

Command to execute this simulator.

checkpoint_commands() → list[str]#
cleanup_commands() → list[str]#
components() → set[Component]#
property extra_args: str#
static filter_channels_by_sys_type(channels: list[Channel], ty: type) → list[Channel]#
filter_components_by_pred(pred: ~typing.Callable[[~simbricks.orchestration.system.base.Component], bool], ty: type[~simbricks.orchestration.simulation.base.T] = <class 'simbricks.orchestration.system.base.Component'>) → list[T]#
filter_components_by_type(ty: type[T]) → list[T]#
static filter_sockets(sockets: list[Socket], filter_type: SockType = SockType.LISTEN) → list[Socket]#
full_name() → str#

Full name of the simulator.

get_channels() → list[Channel]#
get_interface_url(inst: Instantiation, intf: Interface) → str#
get_parameters_url(inst: Instantiation, socket: Socket, channel: Channel | None = None, sync: bool | None = None, latency: TimeInterval | None = None, sync_period: TimeInterval | None = None) → str#

Build the parameters url handed to a simulator’s SimBricks adapter.

By convention the time intervals in these urls are always given as plain picosecond values without a unit suffix.

static get_unique_latency_period_sync(channels: list[Channel]) → tuple[TimeInterval, TimeInterval, bool]#
id() → int#
async prepare(inst: Instantiation) → None#
resreq_cores() → int#

Number of cores this simulator requires during execution.

This is used for scheduling multiple runs and experiments.

resreq_mem() → int#

Number of memory in MB this simulator requires during execution.

This is used for scheduling multiple runs and experiments.

sockets_cleanup(inst: Instantiation) → list[Socket]#
sockets_wait(inst: Instantiation) → list[Socket]#
static split_sockets_by_type(sockets: list[Socket]) → tuple[list[Socket], list[Socket]]#
start_delay() → int#
supported_socket_types(interface: Interface) → set[SockType]#
supports_checkpointing() → bool#
property wait_terminate: bool#