| ) | ) | ||||
| def disable_tso(interface): | |||||
| os.system("ethtool -K {} tx off sg off tso off".format(interface)) | |||||
| def enable_tcp_probe(): | def enable_tcp_probe(): | ||||
| os.system("echo '1' > /sys/kernel/debug/tracing/events/tcp/tcp_probe/enable") | os.system("echo '1' > /sys/kernel/debug/tracing/events/tcp/tcp_probe/enable") | ||||
| sleep(2) | sleep(2) | ||||
| ws_filter = "" | ws_filter = "" | ||||
| congestion_control_index = 0 | congestion_control_index = 0 | ||||
| if server_is_sender: | if server_is_sender: | ||||
| # server sends | # server sends | ||||
| if not is_tcp_probe_enabled(): | if not is_tcp_probe_enabled(): | ||||
| "--one-off", | "--one-off", | ||||
| ] | ] | ||||
| subprocess.call(iperf_command) | subprocess.call(iperf_command) | ||||
| sleep(2) | |||||
| sleep(10) | |||||
| processHandler.kill_all() | processHandler.kill_all() | ||||
| congestion_control_index = (congestion_control_index + 1) % len( | congestion_control_index = (congestion_control_index + 1) % len( | ||||
| tcp_algo | tcp_algo | ||||
| congestion_control_index = (congestion_control_index + 1) % len( | congestion_control_index = (congestion_control_index + 1) % len( | ||||
| tcp_algo | tcp_algo | ||||
| ) | ) | ||||
| sleep(4) | |||||
| sleep(12) | |||||
| def cbr(self): | def cbr(self): | ||||
| bitrate = "1M" | bitrate = "1M" | ||||
| args = parser.parse_args() | args = parser.parse_args() | ||||
| disable_tso(args.interface) | |||||
| if args.server: | if args.server: | ||||
| asyncio.run(start_server(args)) | asyncio.run(start_server(args)) | ||||
| elif args.client is not None: | elif args.client is not None: |