added label for udp tests, removed udp from iperf server call strings

master
Frederik Maaßen 2 years ago
parent de20ab5e3d
commit f5848afbd1
  1. 1
      Notes.md
  2. 18
      implementation/mininet_controller.py
  3. 12
      implementation/topologies/4r4h_topo.py
  4. 12
      implementation/topologies/6r4h_topo.py
  5. 6
      implementation/topologies/8r4h_topo.py

@ -166,6 +166,7 @@ Controller that configures switches/routers based on python script file
# Writing Notes
use subfigure und subcaptions, clever ref, write Figure/Section, einheitliches kursiv etc., number with \SI{30}{second}
## Questions
- how do i reference the git repository in my work?

@ -19,7 +19,7 @@ import schedule
topos = {
"Minimal": {
"class": "Minimal" ,
"class": "Minimal",
"module": "minimum",
"description": "2 hosts connected to a switch"
},
@ -293,10 +293,8 @@ def measure_packet_flow(net, client, server, server_ip, flow_measurement_targets
# make sure everything is initialized
sleep(1)
server_type_string = ""
client_type_string = ""
if flag == "udp":
server_type_string = "-u"
client_type_string = f"-u"
shortcut_flag = "wo_sc"
@ -310,7 +308,8 @@ def measure_packet_flow(net, client, server, server_ip, flow_measurement_targets
info(f"\nCreated folder for new test under {tmp_file_folder}")
os.mkdir(tmp_file_folder)
tmp_file_name = f"{tmp_file_folder}/{unique_test_name}_{shortcut_flag}"
net[server].cmd(f"iperf3 -s -i {interval} {server_type_string} > {tmp_file_name}_server.out &")
iperf_server_command = get_iperf_server_command(interval, tmp_file_name)
net[server].cmd(iperf_server_command)
sleep(1)
net[client].cmd(
f"iperf3 -c {server_ip} -b {int(bandwidth) * 1000000} -f m -i {interval} -t {length+2} {client_type_string} > {tmp_file_name}_client.out &")
@ -405,12 +404,10 @@ def measure_bandwidth(net, components, iperf_server_ip, length, interval, unique
tmp_file_name = f"/tmp/{iperf_client}_to_{iperf_server}_iperf_{unique_test_name}_{shortcut_flag}"
server_type_string = ""
client_type_string = ""
if flag == "udp":
server_type_string = "-u"
client_type_string = f"-u"
iperf_server_command = f"iperf3 -s -f m -i {interval} {server_type_string} > {tmp_file_name}_server.out &"
iperf_server_command = get_iperf_server_command(interval, tmp_file_name)
net[iperf_server].cmd(iperf_server_command)
info("\niPerf3 server command: " + iperf_server_command)
# wait for server to finish starting
@ -441,11 +438,8 @@ def measure_bandwidth(net, components, iperf_server_ip, length, interval, unique
net[iperf_server].cmd(plot_command)
def get_iperf_server_command(interval, flag, file_name, port=5201):
server_type_string = ""
if flag == "udp":
server_type_string = "-u"
return f"iperf3 -s -p {port} -f m -i {interval} {server_type_string} > {file_name}_server.out &"
def get_iperf_server_command(interval, file_name, port=5201):
return f"iperf3 -s -p {port} -f m -i {interval} > {file_name}_server.out &"
def get_iperf_client_command(server_ip, bandwidth, interval, length, flag, file_name, port=5201):

@ -368,11 +368,11 @@ class FourRoutersFourHosts(CustomTopo):
"use_pre_defined_function": True,
"separate_definitions": True,
"command_pre": ("measure_packet_flow", (
'h1', 'h4', '10.4.0.101', ["r1", "r2", "r3", "r4"], 30, 1, "before_failure", [0, 2000],
"Packet flow on all routers before failure", "udp", 100)),
'h1', 'h4', '10.4.0.101', ["r1", "r2", "r3", "r4"], 30, 1, "udp_before_failure", [0, 2000],
"UDP Packet flow on all routers before failure", "udp", 100)),
"command_post": ("measure_packet_flow", (
'h1', 'h4', '10.4.0.101', ["r1", "r2", "r3", "r4"], 30, 1, "after_failure", [0, 2000],
"Packet flow on all routers after failure", "udp", 100)),
'h1', 'h4', '10.4.0.101', ["r1", "r2", "r3", "r4"], 30, 1, "udp_after_failure", [0, 2000],
"UDP Packet flow on all routers after failure", "udp", 100)),
},
"failures": [
@ -397,8 +397,8 @@ class FourRoutersFourHosts(CustomTopo):
"execute": {
"use_pre_defined_function": True,
"command": ("measure_packet_flow", (
'h1', 'h4', '10.4.0.101', ["r1", "r2", "r3", "r4"], 30, 1, "concurrent_failure", [0, 2000],
"Packet flow on all routers before failure", "udp", 100)),
'h1', 'h4', '10.4.0.101', ["r1", "r2", "r3", "r4"], 30, 1, "udp_concurrent_failure", [0, 2000],
"UDP Packet flow on all routers before failure", "udp", 100)),
},
"failures": [

@ -451,11 +451,11 @@ class SixRoutersFourHosts(CustomTopo):
"use_pre_defined_function": True,
"separate_definitions": True,
"command_pre": ("measure_packet_flow", (
'h1', 'h6', '10.6.0.101', ["r1", "r3", "r5", "r6"], 30, 1, "before_failure", [0, 3000],
"Packet flow on routers before failure", "udp", 100)),
'h1', 'h6', '10.6.0.101', ["r1", "r3", "r5", "r6"], 30, 1, "udp_before_failure", [0, 3000],
"UDP Packet flow on routers before failure", "udp", 100)),
"command_post": ("measure_packet_flow", (
'h1', 'h6', '10.6.0.101', ["r1", "r3", "r5", "r6"], 30, 1, "after_failure", [0, 3000],
"Packet flow on routers after failure", "udp", 100)),
'h1', 'h6', '10.6.0.101', ["r1", "r3", "r5", "r6"], 30, 1, "udp_after_failure", [0, 3000],
"UDP Packet flow on routers after failure", "udp", 100)),
},
"failures": [
@ -480,8 +480,8 @@ class SixRoutersFourHosts(CustomTopo):
"execute": {
"use_pre_defined_function": True,
"command": ("measure_packet_flow", (
'h1', 'h6', '10.6.0.101', ["r1", "r3", "r5", "r6"], 30, 1, "concurrent_failure", [0, 3000],
"Packet flow on routers before failure", "udp", 100)),
'h1', 'h6', '10.6.0.101', ["r1", "r3", "r5", "r6"], 30, 1, "udp_concurrent_failure", [0, 3000],
"UDP Packet flow on routers before failure", "udp", 100)),
},
"failures": [

@ -552,9 +552,9 @@ class EightRoutersFourHosts(CustomTopo):
"use_pre_defined_function": True,
"separate_definitions": True,
"command_pre": ("measure_packet_flow", (
'h1', 'h8', '10.8.0.101', ["r1", "r4", "r7", "r8"], 30, 1, "before_failure", [0, 3000], "Packet flow on routers before failure", "udp", 100)),
'h1', 'h8', '10.8.0.101', ["r1", "r4", "r7", "r8"], 30, 1, "udp_before_failure", [0, 3000], "UDP Packet flow on routers before failure", "udp", 100)),
"command_post": ("measure_packet_flow", (
'h1', 'h8', '10.8.0.101', ["r1", "r4", "r7", "r8"], 30, 1, "after_failure", [0, 3000], "Packet flow on routers after failure", "udp", 100)),
'h1', 'h8', '10.8.0.101', ["r1", "r4", "r7", "r8"], 30, 1, "udp_after_failure", [0, 3000], "UDP Packet flow on routers after failure", "udp", 100)),
},
"failures": [
@ -579,7 +579,7 @@ class EightRoutersFourHosts(CustomTopo):
"execute": {
"use_pre_defined_function": True,
"command": ("measure_packet_flow", (
'h1', 'h8', '10.8.0.101', ["r1", "r4", "r7", "r8"], 30, 1, "concurrent_failure", [0, 3000], "Packet flow on routers before failure", "udp", 100)),
'h1', 'h8', '10.8.0.101', ["r1", "r4", "r7", "r8"], 30, 1, "udp_concurrent_failure", [0, 3000], "UDP Packet flow on routers before failure", "udp", 100)),
},
"failures": [

Loading…
Cancel
Save