4.4.3. ns-3#
4.4.3.1. Simulation#
- class simbricks.components.ns3.simulation.ns3.SimpleNS3Sim(simulation: Simulation, executable: str, name: str = '')#
- toJSON() dict#
- classmethod fromJSON(simulation: Simulation, json_obj: dict) Self#
- run_cmd(inst: Instantiation) str#
Command to execute this simulator.
- T = ~T#
- checkpoint_commands() list[str]#
- cleanup_commands() list[str]#
- property extra_args: str#
- static filter_channels_by_sys_type(channels: list[sim_chan.Channel], ty: type[T]) list[T]#
- filter_components_by_pred(pred: tp.Callable[[sys_conf.Component], bool], ty: type[T] = <class 'simbricks.orchestration.system.base.Component'>) list[T]#
- filter_components_by_type(ty: type[T]) list[T]#
- full_name() str#
Full name of the simulator.
- get_interface_url(inst: Instantiation, intf: Interface) str#
- get_parameters_url(inst: Instantiation, socket: Socket, channel: Channel | None = None, sync: bool | None = None, latency: int | None = None, sync_period: int | None = None) str#
- id() int#
- init_network() None#
- 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]#
- start_delay() int#
- supports_checkpointing() bool#
- property wait_terminate: bool#
- class simbricks.components.ns3.simulation.ns3.NS3DumbbellNet(simulation: Simulation)#
- name: str#
- toJSON() dict#
- classmethod fromJSON(simulation: Simulation, json_obj: dict) Self#
- run_cmd(inst: Instantiation) str#
Command to execute this simulator.
- T = ~T#
- checkpoint_commands() list[str]#
- cleanup_commands() list[str]#
- property extra_args: str#
- static filter_channels_by_sys_type(channels: list[sim_chan.Channel], ty: type[T]) list[T]#
- filter_components_by_pred(pred: tp.Callable[[sys_conf.Component], bool], ty: type[T] = <class 'simbricks.orchestration.system.base.Component'>) list[T]#
- filter_components_by_type(ty: type[T]) list[T]#
- full_name() str#
Full name of the simulator.
- get_interface_url(inst: Instantiation, intf: Interface) str#
- get_parameters_url(inst: Instantiation, socket: Socket, channel: Channel | None = None, sync: bool | None = None, latency: int | None = None, sync_period: int | None = None) str#
- id() int#
- init_network() None#
- 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]#
- start_delay() int#
- supports_checkpointing() bool#
- property wait_terminate: bool#
- opt: str | None#
- class simbricks.components.ns3.simulation.ns3.NS3BridgeNet(simulation: Simulation)#
- name: str#
- toJSON() dict#
- classmethod fromJSON(simulation: Simulation, json_obj: dict) Self#
- run_cmd(inst: Instantiation) str#
Command to execute this simulator.
- T = ~T#
- checkpoint_commands() list[str]#
- cleanup_commands() list[str]#
- property extra_args: str#
- static filter_channels_by_sys_type(channels: list[sim_chan.Channel], ty: type[T]) list[T]#
- filter_components_by_pred(pred: tp.Callable[[sys_conf.Component], bool], ty: type[T] = <class 'simbricks.orchestration.system.base.Component'>) list[T]#
- filter_components_by_type(ty: type[T]) list[T]#
- full_name() str#
Full name of the simulator.
- get_interface_url(inst: Instantiation, intf: Interface) str#
- get_parameters_url(inst: Instantiation, socket: Socket, channel: Channel | None = None, sync: bool | None = None, latency: int | None = None, sync_period: int | None = None) str#
- id() int#
- init_network() None#
- 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]#
- start_delay() int#
- supports_checkpointing() bool#
- property wait_terminate: bool#
- opt: str | None#
- class simbricks.components.ns3.simulation.ns3.NS3Net(simulation: Simulation)#
- name: str#
- toJSON() dict#
- classmethod fromJSON(simulation: Simulation, json_obj: dict) Self#
- run_cmd(inst: Instantiation) str#
Command to execute this simulator.
- T = ~T#
- checkpoint_commands() list[str]#
- cleanup_commands() list[str]#
- property extra_args: str#
- static filter_channels_by_sys_type(channels: list[sim_chan.Channel], ty: type[T]) list[T]#
- filter_components_by_pred(pred: tp.Callable[[sys_conf.Component], bool], ty: type[T] = <class 'simbricks.orchestration.system.base.Component'>) list[T]#
- filter_components_by_type(ty: type[T]) list[T]#
- full_name() str#
Full name of the simulator.
- get_interface_url(inst: Instantiation, intf: Interface) str#
- get_parameters_url(inst: Instantiation, socket: Socket, channel: Channel | None = None, sync: bool | None = None, latency: int | None = None, sync_period: int | None = None) str#
- id() int#
- init_network() None#
- 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]#
- start_delay() int#
- supports_checkpointing() bool#
- property wait_terminate: bool#
- opt: str | None#
4.4.3.2. ns-3 Component Configuration#
- class simbricks.components.ns3.simulation.ns3_components.CongestionControl(*values)#
- RENO = ('ns3::TcpLinuxReno', 'reno')#
- WESTWOOD = ('ns3::TcpWestwoodPlus', 'westwood')#
- BIC = ('ns3::TcpBic', 'bic')#
- CUBIC = ('ns3::TcpCubic', 'cubic')#
- HTCP = ('ns3::TcpHtcp', 'htcp')#
- HYBLA = ('ns3::TcpHybla', 'hybla')#
- VEGAS = ('ns3::TcpVegas', 'vegas')#
- NV = ('', 'nv')#
- SCALABLE = ('ns3::TcpScalable', 'scalable')#
- LP = ('ns3::TcpLp', 'lp')#
- VENO = ('ns3::TcpVeno', 'veno')#
- YEAH = ('ns3::TcpYeah', 'yeah')#
- ILLINOIS = ('ns3::TcpIllinois', 'illinois')#
- DCTCP = ('ns3::TcpDctcp', 'dctcp')#
- CDG = ('', 'cdg')#
- BBR = ('ns3::TcpBbr', 'bbr')#
- HIGHSPEED = ('ns3::TcpHighSpeed', 'highspeed')#
- property ns3#
- property gem5#
- class simbricks.components.ns3.simulation.ns3_components.NS3LoggingLevel(*values)#
- ERROR = 'error'#
- LEVEL_ERROR = 'level_error'#
- WARN = 'warn'#
- LEVEL_WARN = 'level_warn'#
- DEBUG = 'debug'#
- LEVEL_DEBUG = 'level_debug'#
- INFO = 'info'#
- LEVEL_INFO = 'level_info'#
- FUNCTION = 'function'#
- LEVEL_FUNCTION = 'level_function'#
- LOGIC = 'logic'#
- LEVEL_LOGIC = 'level_logic'#
- ALL = 'all'#
- LEVEL_ALL = 'level_all'#
- PREFIX_FUNC = 'prefix_func'#
- PREFIX_TIME = 'prefix_time'#
- PREFIX_NODE = 'prefix_node'#
- PREFIX_LEVEL = 'prefix_level'#
- PREFIX_ALL = 'prefix_all'#
- class simbricks.components.ns3.simulation.ns3_components.NS3Base#
- ns3_config() str#
- abstractmethod add_component(component: NS3Component) None#
- static get_parameter(comp: Component | Channel | Application, key: str, default: str = '') str#
- toJSON()#
- classmethod fromJSON(json_obj)#
- id() int#
- class simbricks.components.ns3.simulation.ns3_components.NS3GlobalConfig#
- ns3_config() str#
- add_component(component: NS3Component) None#
- toJSON()#
- classmethod fromJSON(json_obj)#
- static get_parameter(comp: Component | Channel | Application, key: str, default: str = '') str#
- id() int#
- class simbricks.components.ns3.simulation.ns3_components.NS3Logging#
- ns3_config() str#
- add_component(component: NS3Component) None#
- add_logging(component: str, level: NS3LoggingLevel)#
- toJSON()#
- classmethod fromJSON(json_obj)#
- static get_parameter(comp: Component | Channel | Application, key: str, default: str = '') str#
- id() int#
- class simbricks.components.ns3.simulation.ns3_components.NS3Component(idd: str)#
- ns3_config() str#
- add_component(component: NS3Component) None#
- resolve_paths() None#
- toJSON()#
- classmethod fromJSON(json_obj)#
- static get_parameter(comp: Component | Channel | Application, key: str, default: str = '') str#
- id() int#
- class simbricks.components.ns3.simulation.ns3_components.NS3TopologyNode(idd: str)#
- add_component(component: NS3Component) None#
- classmethod fromJSON(json_obj)#
- static get_parameter(comp: Component | Channel | Application, key: str, default: str = '') str#
- id() int#
- ns3_config() str#
- resolve_paths() None#
- toJSON()#
- class simbricks.components.ns3.simulation.ns3_components.NS3SwitchNode(switch: EthSwitch)#
- ns3_config() str#
- add_component(component: NS3Component) None#
- classmethod fromJSON(json_obj)#
- static get_parameter(comp: Component | Channel | Application, key: str, default: str = '') str#
- id() int#
- resolve_paths() None#
- toJSON()#
- class simbricks.components.ns3.simulation.ns3_components.NS3TopologyChannel(idd: str)#
- add_component(component: NS3Component) None#
- classmethod fromJSON(json_obj)#
- static get_parameter(comp: Component | Channel | Application, key: str, default: str = '') str#
- id() int#
- ns3_config() str#
- resolve_paths() None#
- toJSON()#
- class simbricks.components.ns3.simulation.ns3_components.NS3SimpleChannel(channel: EthChannel)#
- ns3_config() str#
- add_device_attr(key: str, value: str) None#
- add_queue_attr(key: str, value: str) None#
- add_channel_attr(key: str, value: str) None#
- add_component(component: NS3Component) None#
- classmethod fromJSON(json_obj)#
- static get_parameter(comp: Component | Channel | Application, key: str, default: str = '') str#
- id() int#
- resolve_paths() None#
- toJSON()#
- class simbricks.components.ns3.simulation.ns3_components.NS3Network(idd: str)#
- add_component(component: NS3Component) None#
- classmethod fromJSON(json_obj)#
- static get_parameter(comp: Component | Channel | Application, key: str, default: str = '') str#
- id() int#
- ns3_config() str#
- resolve_paths() None#
- toJSON()#
- class simbricks.components.ns3.simulation.ns3_components.NS3NetworkSimbricks(comp: Component, chan: Channel, socket: Socket)#
- ns3_config() str#
- add_component(component: NS3Component) None#
- classmethod fromJSON(json_obj)#
- static get_parameter(comp: Component | Channel | Application, key: str, default: str = '') str#
- id() int#
- resolve_paths() None#
- toJSON()#
- class simbricks.components.ns3.simulation.ns3_components.NS3Host(idd: str)#
- add_component(component: NS3Component) None#
- classmethod fromJSON(json_obj)#
- static get_parameter(comp: Component | Channel | Application, key: str, default: str = '') str#
- id() int#
- ns3_config() str#
- resolve_paths() None#
- toJSON()#
- class simbricks.components.ns3.simulation.ns3_components.NS3SimpleHost(host: Host)#
- ns3_config() str#
- add_device_attr(key: str, value: str) None#
- add_queue_attr(key: str, value: str) None#
- add_channel_attr(key: str, value: str) None#
- add_component(component: NS3Component) None#
- classmethod fromJSON(json_obj)#
- static get_parameter(comp: Component | Channel | Application, key: str, default: str = '') str#
- id() int#
- resolve_paths() None#
- toJSON()#
- class simbricks.components.ns3.simulation.ns3_components.NS3Application(idd: str)#
- ns3_config() str#
- add_component(component: NS3Component) None#
- classmethod fromJSON(json_obj)#
- static get_parameter(comp: Component | Channel | Application, key: str, default: str = '') str#
- id() int#
- resolve_paths() None#
- toJSON()#
- class simbricks.components.ns3.simulation.ns3_components.NS3GenericApplication(app: Application)#
- ns3_config() str#
- add_component(component: NS3Component) None#
- classmethod fromJSON(json_obj)#
- static get_parameter(comp: Component | Channel | Application, key: str, default: str = '') str#
- id() int#
- resolve_paths() None#
- toJSON()#
- class simbricks.components.ns3.simulation.ns3_components.E2EPacketSinkApplication(idd: str)#
- ns3_config() str#
- add_component(component: NS3Component) None#
- classmethod fromJSON(json_obj)#
- static get_parameter(comp: Component | Channel | Application, key: str, default: str = '') str#
- id() int#
- resolve_paths() None#
- toJSON()#
- class simbricks.components.ns3.simulation.ns3_components.E2EBulkSendApplication(idd: str)#
- ns3_config() str#
- add_component(component: NS3Component) None#
- classmethod fromJSON(json_obj)#
- static get_parameter(comp: Component | Channel | Application, key: str, default: str = '') str#
- id() int#
- resolve_paths() None#
- toJSON()#
- class simbricks.components.ns3.simulation.ns3_components.E2ENS3RandomVariable#
- get_config() str#
- abstractmethod get_parameters() str#
- class simbricks.components.ns3.simulation.ns3_components.E2ENS3ConstantRandomVariable#
- get_parameters() str#
- get_config() str#
- class simbricks.components.ns3.simulation.ns3_components.E2ENS3UniformRandomVariable#
- get_parameters() str#
- get_config() str#
- class simbricks.components.ns3.simulation.ns3_components.E2ENS3ExponentialRandomVariable#
- get_parameters() str#
- get_config() str#
- class simbricks.components.ns3.simulation.ns3_components.E2ENS3NormalRandomVariable#
- get_parameters() str#
- get_config() str#
- class simbricks.components.ns3.simulation.ns3_components.E2EOnOffApplication(idd: str)#
- ns3_config() str#
- add_component(component: NS3Component) None#
- classmethod fromJSON(json_obj)#
- static get_parameter(comp: Component | Channel | Application, key: str, default: str = '') str#
- id() int#
- resolve_paths() None#
- toJSON()#
- class simbricks.components.ns3.simulation.ns3_components.E2EProbe(idd: str)#
- add_component(component: NS3Component) None#
- classmethod fromJSON(json_obj)#
- static get_parameter(comp: Component | Channel | Application, key: str, default: str = '') str#
- id() int#
- ns3_config() str#
- resolve_paths() None#
- toJSON()#
- class simbricks.components.ns3.simulation.ns3_components.E2EPeriodicSampleProbe(idd: str, probe_type: str)#
- ns3_config() str#
- add_component(component: NS3Component) None#
- classmethod fromJSON(json_obj)#
- static get_parameter(comp: Component | Channel | Application, key: str, default: str = '') str#
- id() int#
- resolve_paths() None#
- toJSON()#