miniworld.model.network.backends package¶
Subpackages¶
- miniworld.model.network.backends.bridged package
- Subpackages
- miniworld.model.network.backends.bridged.brctl package
- miniworld.model.network.backends.bridged.iproute2 package
- Submodules
- miniworld.model.network.backends.bridged.iproute2.Bridge module
- miniworld.model.network.backends.bridged.iproute2.Connection module
- miniworld.model.network.backends.bridged.iproute2.Constants module
- miniworld.model.network.backends.bridged.iproute2.IPRoute2Commands module
- miniworld.model.network.backends.bridged.iproute2.NetworkBackendBridged module
- miniworld.model.network.backends.bridged.iproute2.Tunnel module
- Module contents
- miniworld.model.network.backends.bridged.multidevice package
- miniworld.model.network.backends.bridged.pyroute2 package
- miniworld.model.network.backends.bridged.singledevice package
- Submodules
- miniworld.model.network.backends.bridged.Bridge module
- miniworld.model.network.backends.bridged.CentralBridgeNode module
- miniworld.model.network.backends.bridged.Connection module
- miniworld.model.network.backends.bridged.ConnectionBookKeeper module
- miniworld.model.network.backends.bridged.EmulationNodeBridged module
- miniworld.model.network.backends.bridged.EmulationNodeNetworkBackendBridgedMultiDevice module
- miniworld.model.network.backends.bridged.ManagementNodeBridged module
- miniworld.model.network.backends.bridged.NetworkBackendBridged module
- miniworld.model.network.backends.bridged.QemuTap module
- Module contents
- Subpackages
- miniworld.model.network.backends.vde package
- Submodules
- miniworld.model.network.backends.vde.CentralVDENode module
- miniworld.model.network.backends.vde.EmulationNodeNetworkBackend module
- miniworld.model.network.backends.vde.EmulationNodeVDE module
- miniworld.model.network.backends.vde.ManagementNodeVDE module
- miniworld.model.network.backends.vde.NetworkBackendVDE module
- miniworld.model.network.backends.vde.QemuVDE module
- miniworld.model.network.backends.vde.VDEConstants module
- miniworld.model.network.backends.vde.VDESwitch module
- miniworld.model.network.backends.vde.Wirefilter module
- Module contents
Submodules¶
miniworld.model.network.backends.AbstractConnection module¶
miniworld.model.network.backends.AbstractSwitch module¶
miniworld.model.network.backends.EmulationNodeNetworkBackend module¶
miniworld.model.network.backends.InterfaceFilter module¶
-
class
miniworld.model.network.backends.InterfaceFilter.AllInterfaces(*args, **kwargs)[source]¶ Bases:
miniworld.model.network.backends.InterfaceFilter.InterfaceFilter
-
class
miniworld.model.network.backends.InterfaceFilter.CoreInterfaces(*args, **kwargs)[source]¶ Bases:
miniworld.model.network.backends.InterfaceFilter.InterfaceFilter
-
class
miniworld.model.network.backends.InterfaceFilter.EqualInterfaceNumbers(*args, **kwargs)[source]¶ Bases:
miniworld.model.network.backends.InterfaceFilter.InterfaceFilterAssumes each node has the same number of interfaces. And that the interfaces are sorted!
miniworld.model.network.backends.NetworkBackend module¶
miniworld.model.network.backends.NetworkBackendBootStrapper module¶
-
class
miniworld.model.network.backends.NetworkBackendBootStrapper.NetworkBackendBootStrapper(network_backend_type, emulation_node_network_backend_type, emulation_node_type, virtualization_layer_type, connection_type, switch_type, network_configurator_type, virtual_node_network_backend_type=None, central_node_type=None, management_node_type=None, tunnel_type=None)[source]¶ Bases:
objectBundles the components a
NetworkBackendneeds to operate.network_backend_type : type emulation_node_type : type virtualization_layer_type : type connection_type : type switch_type : type network_configurator_type : type central_node_type : type
Only use the central mode if the backend provides a class for it.- management_node_type : type
- Only use the management mode if the backend provides a class for it.
virtual_node_network_backend_type : type tunnel_type : type
miniworld.model.network.backends.NetworkBackendDynamic module¶
miniworld.model.network.backends.NetworkBackendNotifications module¶
-
class
miniworld.model.network.backends.NetworkBackendNotifications.ConnectionInfo(is_remote_conn=False, is_central=False, is_mgmt=False)[source]¶ is_remote_conn : bool, optional (default is False) is_central : bool, optional (default is False) is_mgmt : bool, optional (default is False)
-
class
miniworld.model.network.backends.NetworkBackendNotifications.NetworkBackendNotifications[source]¶ This interface describes the interaction between the
SimulationManager, theNetworkManagerand theNetworkBackend.-
after_distance_matrix_changed(simulation_manager, network_backend, changed_distance_matrix, full_distance_matrix, **kwargs)[source]¶ Called only if the distance matrix changed.
changed_distance_matrix simulation_manager network_backend full_distance_matrix kwargs
-
after_link_initial_start(network_backend_connected, switch, connection, network_backend, emulation_node_x, emulation_node_y, interface_x, interface_y, connection_info, start_activated=False, **kwargs)[source]¶ switch network_backend_connected : Bool
Return value frombefore_link_initial_start()- connection : AbstractConnection
- Return value from
before_link_initial_start()
network_backend emulation_node_x emulation_node_y interface_x interface_y connection_info : ConnectionInfo start_activated
-
after_link_quality_adjustment(connection, link_quality_still_connected, link_quality_dict, network_backend, emulation_node_x, emulation_node_y, interface_x, interface_y, connection_info, **kwargs)[source]¶ Called only for connected nodes. There the
LinkQualityModeland theNetworkBackendagreed on a connection.connection link_quality_still_connected link_quality_dict network_backend emulation_node_x emulation_node_y interface_x interface_y connection_info : ConnectionInfo kwargs
-
after_simulation_step(simulation_manager, step_cnt, network_backend, emulation_nodes, **kwargs)[source]¶ Called after a simulation step is over. Called every step.
simulation_manager emulation_nodes network_backend step_cnt
-
before_distance_matrix_changed(simulation_manager, network_backend, changed_distance_matrix, full_distance_matrix, **kwargs)[source]¶ Called only if the distance matrix changed.
changed_distance_matrix simulation_manager network_backend full_distance_matrix kwargs
-
before_link_initial_start(network_backend, emulation_node_x, emulation_node_y, interface_x, interface_y, connection_info, start_activated=False, **kwargs)[source]¶ Called before a link between the two nodes on the supplied interfaces is going to be created.
Let the NetworkBackend decide whether the links really shall be connected. 1) SimulationManager->NetworkManager->NetworkBackend-|
SimulationManager<-NetworkManager-| <- connected, connection...
- after_link_initial_start() -> ...
network_backend emulation_node_x emulation_node_y interface_x interface_y connection_info : ConnectionInfo start_activated
- Bool, AbstractSwitch, AbstractConnection
- Whether the nodes are connected and the appropriate connection
-
before_link_quality_adjustment(connection, link_quality_still_connected, link_quality_dict, network_backend, emulation_node_x, emulation_node_y, interface_x, interface_y, connection_info, **kwargs)[source]¶ Called only for connected nodes. There the
LinkQualityModeland theNetworkBackendagreed on a connection.connection link_quality_still_connected link_quality_dict network_backend emulation_node_x emulation_node_y interface_x interface_y connection_info : ConnectionInfo kwargs
-
before_simulation_step(simulation_manager, step_cnt, network_backend, emulation_nodes, **kwargs)[source]¶ Called before the next simulation step is about to be performed. Called every step.
simulation_manager : SimulationManager step_cnt : int network_backend : NetworkBackend emulation_nodes : EmulationNodes
-
connection_across_servers(network_backend, emulation_node_x, emulation_node_y, remote_ip)[source]¶ network_backend emulation_node_x emulation_node_y remote_ip
-