From 4cd15a39aa5a246ca5c0d979c4cc174c5a2bc074 Mon Sep 17 00:00:00 2001 From: Charlie Crane Date: Fri, 3 May 2024 08:35:24 +0100 Subject: [PATCH] #2457 - Commit before switching branches to review --- .../_package_data/multi_lan_internet_network_example.yaml | 1 + src/primaite/game/game.py | 8 +++++++- src/primaite/simulator/network/networks.py | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/primaite/config/_package_data/multi_lan_internet_network_example.yaml b/src/primaite/config/_package_data/multi_lan_internet_network_example.yaml index 8b97c6df..09e85d03 100644 --- a/src/primaite/config/_package_data/multi_lan_internet_network_example.yaml +++ b/src/primaite/config/_package_data/multi_lan_internet_network_example.yaml @@ -368,6 +368,7 @@ simulation: endpoint_a_port: 1 endpoint_b_hostname: switch_1 endpoint_b_port: 1 + bandwidth: 200 - endpoint_a_hostname: pc_2 endpoint_a_port: 1 endpoint_b_hostname: switch_1 diff --git a/src/primaite/game/game.py b/src/primaite/game/game.py index ab68ea2d..2df7f7bb 100644 --- a/src/primaite/game/game.py +++ b/src/primaite/game/game.py @@ -406,9 +406,15 @@ class PrimaiteGame: new_node.shut_down_duration = int(node_cfg.get("shut_down_duration", 3)) # 2. create links between nodes + # TODO: Pull from link_cfg the 'bandwidth' of that link for link_cfg in links_cfg: node_a = net.get_node_by_hostname(link_cfg["endpoint_a_hostname"]) node_b = net.get_node_by_hostname(link_cfg["endpoint_b_hostname"]) + print(link_cfg) + try: + bandwidth = link_cfg["bandwidth"] + except Exception: + bandwidth = 100 if isinstance(node_a, Switch): endpoint_a = node_a.network_interface[link_cfg["endpoint_a_port"]] @@ -418,7 +424,7 @@ class PrimaiteGame: endpoint_b = node_b.network_interface[link_cfg["endpoint_b_port"]] else: endpoint_b = node_b.network_interface[link_cfg["endpoint_b_port"]] - net.connect(endpoint_a=endpoint_a, endpoint_b=endpoint_b) + net.connect(endpoint_a=endpoint_a, endpoint_b=endpoint_b, bandwidth=bandwidth) # 3. create agents agents_cfg = cfg.get("agents", []) diff --git a/src/primaite/simulator/network/networks.py b/src/primaite/simulator/network/networks.py index bd06e615..a1c40150 100644 --- a/src/primaite/simulator/network/networks.py +++ b/src/primaite/simulator/network/networks.py @@ -315,4 +315,5 @@ def basic_lan_network_example() -> Network: def multi_lan_internet_network_example() -> Network: """Get Multi-LAN with Internet example network.""" path = PRIMAITE_PATHS.user_config_path / "example_config" / "multi_lan_internet_network_example.yaml" + print(path) return _get_example_network(path)