diff --git a/core/topo.py b/core/topo.py index 7d381b6..6569be8 100644 --- a/core/topo.py +++ b/core/topo.py @@ -515,13 +515,13 @@ class TopoConfig(object): def disable_tso(self): """ - Disable TSO on all interfaces + Disable TSO, GSO and GRO on all interfaces """ - logging.info("Disable TSO on all interfaces of all nodes") + logging.info("Disable TSO, GSO and GRO on all interfaces of all nodes") for node in [self.topo.get_host(n) for n in self.topo.topo_builder.net]: for intf in self.topo.get_interface_names(node): - logging.debug("Disable TSO on interface {}".format(intf)) - cmd = "ethtool -K {} tso off".format(intf) + logging.debug("Disable TSO, GSO and GRO on interface {}".format(intf)) + cmd = "ethtool -K {} tso off; ethtool -K {} gso off; ethtool -K {} gro off".format(intf, intf, intf) logging.debug(cmd) self.topo.command_to(node, cmd) diff --git a/experiments/iperf.py b/experiments/iperf.py index 559f38c..fadb062 100644 --- a/experiments/iperf.py +++ b/experiments/iperf.py @@ -20,7 +20,7 @@ class IPerf(Experiment): IPERF_LOG = "iperf.log" SERVER_LOG = "server.log" - IPERF_BIN = "iperf3" + IPERF_BIN = "iperf" PING_OUTPUT = "ping.log" def __init__(self, experiment_parameter_filename, topo, topo_config): @@ -38,7 +38,7 @@ class IPerf(Experiment): self.topo.command_to(self.topo_config.server, "rm {}".format(IPerf.SERVER_LOG)) def get_client_cmd(self): - s = "{} -c {} -t {} -P {} &>{}".format(IPerf.IPERF_BIN, + s = "{} -c {} -t {} -P {} -i 1 &>{}".format(IPerf.IPERF_BIN, self.topo_config.get_server_ip(), self.time, self.parallel, IPerf.IPERF_LOG) logging.info(s) return s diff --git a/experiments/iperf_scenario.py b/experiments/iperf_scenario.py index c0bde20..30a6622 100644 --- a/experiments/iperf_scenario.py +++ b/experiments/iperf_scenario.py @@ -20,7 +20,7 @@ class IPerfScenario(Experiment): IPERF_LOG = "iperf.log" SERVER_LOG = "server.log" - IPERF_BIN = "iperf3" + IPERF_BIN = "iperf" PING_OUTPUT = "ping.log" def __init__(self, experiment_parameter_filename, topo, topo_config): @@ -41,7 +41,7 @@ class IPerfScenario(Experiment): raise Exception("IPerfScenario only runs with MultiInterfaceMultiClientTopo") def get_client_iperf_cmd(self, server_ip, time, client_id): - s = "{} -c {} -t {} -P 1 &>{}{}".format(IPerfScenario.IPERF_BIN, server_ip, time, IPerfScenario.IPERF_LOG, client_id) + s = "{} -c {} -t {} -P 1 -i 5 &>{}{}".format(IPerfScenario.IPERF_BIN, server_ip, time, IPerfScenario.IPERF_LOG, client_id) logging.info(s) return s