Skip to content

Commit

Permalink
BaseFlowMeasurementGenerator: Do not use client port in mptcp
Browse files Browse the repository at this point in the history
We are binding the client port to be consistent in multi-flow scenarios.
However, our mptcp scenario opens 2 additional ports and not one. Only
the first one binds to the specified client port, the second one is
random.

This would be fine, but there's a bug where mptcp doesn't close ports
immediately (RHEL-21492). This raises an "Address already in use" error
when the client attempts to bind the client port. We don't bind the
client port to mitigate this issue, but also because, as specified
before, it doesn't matter whether it's bound or not.
  • Loading branch information
Kuba314 committed Jan 16, 2024
1 parent 992c296 commit d18ab16
Showing 1 changed file with 3 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -147,16 +147,16 @@ def _create_perf_flows(
for endpoint_pair in endpoint_pairs:
client, server = endpoint_pair
for i in range(self.params.perf_parallel_processes):
port = next(port_iter)
server_port = client_port = next(port_iter)
flows.append(
self._create_perf_flow(
perf_test,
client.device,
client.address,
port,
client_port if perf_test != "mptcp_stream" else None,
server.device,
server.address,
port,
server_port,
msg_size,
self.generator_cpupin(i),
self.receiver_cpupin(i),
Expand Down

0 comments on commit d18ab16

Please sign in to comment.