#2457 - Syncing changes made. Updates to documentation and tests
This commit is contained in:
@@ -64,10 +64,12 @@ this results in:
|
||||
endpoint_a_port: 1 # port 1 on computer_1
|
||||
endpoint_b_hostname: switch
|
||||
endpoint_b_port: 1 # port 1 on switch
|
||||
bandwidth: 100
|
||||
- endpoint_a_hostname: computer_2
|
||||
endpoint_a_port: 1 # port 1 on computer_2
|
||||
endpoint_b_hostname: switch
|
||||
endpoint_b_port: 2 # port 2 on switch
|
||||
bandwidth: 100
|
||||
|
||||
``ref``
|
||||
^^^^^^^
|
||||
@@ -95,3 +97,7 @@ The ``hostname`` of the node which must be connected.
|
||||
|
||||
The port on ``endpoint_b_hostname`` which is to be connected to ``endpoint_a_port``.
|
||||
This accepts an integer value e.g. if port 1 is to be connected, the configuration should be ``endpoint_b_port: 1``
|
||||
|
||||
``bandwidth``
|
||||
|
||||
This is an integer value specifying the allowed bandwidth across the connection.
|
||||
|
||||
@@ -321,7 +321,7 @@ class Network(SimComponent):
|
||||
:type endpoint_a: WiredNetworkInterface
|
||||
:param endpoint_b: The second endpoint to connect.
|
||||
:type endpoint_b: WiredNetworkInterface
|
||||
:param bandwidth: bandwidth of new link
|
||||
:param bandwidth: bandwidth of new link, default of 100mbps
|
||||
:type bandwidth: int
|
||||
:raises RuntimeError: If any validation or runtime checks fail.
|
||||
"""
|
||||
|
||||
@@ -50,6 +50,7 @@ def create_office_lan(
|
||||
num_pcs: int,
|
||||
network: Optional[Network] = None,
|
||||
include_router: bool = True,
|
||||
bandwidth: int = 100,
|
||||
) -> Network:
|
||||
"""
|
||||
Creates a 2-Tier or 3-Tier office local area network (LAN).
|
||||
@@ -109,9 +110,11 @@ def create_office_lan(
|
||||
switch.power_on()
|
||||
network.add_node(switch)
|
||||
if num_of_switches > 1:
|
||||
network.connect(core_switch.network_interface[core_switch_port], switch.network_interface[24])
|
||||
network.connect(
|
||||
core_switch.network_interface[core_switch_port], switch.network_interface[24], bandwidth=bandwidth
|
||||
)
|
||||
else:
|
||||
network.connect(router.network_interface[1], switch.network_interface[24])
|
||||
network.connect(router.network_interface[1], switch.network_interface[24], bandwidth=bandwidth)
|
||||
|
||||
# Add PCs to the LAN and connect them to switches
|
||||
for i in range(1, num_pcs + 1):
|
||||
@@ -125,9 +128,11 @@ def create_office_lan(
|
||||
# Connect the new switch to the router or core switch
|
||||
if num_of_switches > 1:
|
||||
core_switch_port += 1
|
||||
network.connect(core_switch.network_interface[core_switch_port], switch.network_interface[24])
|
||||
network.connect(
|
||||
core_switch.network_interface[core_switch_port], switch.network_interface[24], bandwidth=bandwidth
|
||||
)
|
||||
else:
|
||||
network.connect(router.network_interface[1], switch.network_interface[24])
|
||||
network.connect(router.network_interface[1], switch.network_interface[24], bandwidth=bandwidth)
|
||||
|
||||
# Create and add a PC to the network
|
||||
pc = Computer(
|
||||
@@ -142,7 +147,7 @@ def create_office_lan(
|
||||
|
||||
# Connect the PC to the switch
|
||||
switch_port += 1
|
||||
network.connect(switch.network_interface[switch_port], pc.network_interface[1])
|
||||
network.connect(switch.network_interface[switch_port], pc.network_interface[1], bandwidth=bandwidth)
|
||||
switch.network_interface[switch_port].enable()
|
||||
|
||||
return network
|
||||
|
||||
@@ -547,7 +547,7 @@ class Link(SimComponent):
|
||||
|
||||
:param endpoint_a: The first NIC or SwitchPort connected to the Link.
|
||||
:param endpoint_b: The second NIC or SwitchPort connected to the Link.
|
||||
:param bandwidth: The bandwidth of the Link in Mbps (default is 100 Mbps).
|
||||
:param bandwidth: The bandwidth of the Link in Mbps.
|
||||
"""
|
||||
|
||||
endpoint_a: WiredNetworkInterface
|
||||
@@ -555,7 +555,7 @@ class Link(SimComponent):
|
||||
endpoint_b: WiredNetworkInterface
|
||||
"The second WiredNetworkInterface connected to the Link."
|
||||
bandwidth: float
|
||||
"The bandwidth of the Link in Mbps (default is 100 Mbps)."
|
||||
"The bandwidth of the Link in Mbps."
|
||||
current_load: float = 0.0
|
||||
"The current load on the link in Mbps."
|
||||
|
||||
|
||||
@@ -234,7 +234,9 @@ simulation:
|
||||
endpoint_a_port: 1
|
||||
endpoint_b_hostname: client_1
|
||||
endpoint_b_port: 1
|
||||
bandwidth: 200
|
||||
- endpoint_a_hostname: switch_1
|
||||
endpoint_a_port: 2
|
||||
endpoint_b_hostname: client_2
|
||||
endpoint_b_port: 1
|
||||
bandwidth: 200
|
||||
|
||||
@@ -43,3 +43,6 @@ def test_basic_config():
|
||||
# client 3 should not be online
|
||||
client_3: Computer = network.get_node_by_hostname("client_3")
|
||||
assert client_3.operating_state == NodeOperatingState.OFF
|
||||
|
||||
for link in network.links:
|
||||
assert network.links[link].bandwidth == 200
|
||||
|
||||
Reference in New Issue
Block a user