diff options
| author | Gal Pressman <[email protected]> | 2025-02-24 17:44:15 +0000 |
|---|---|---|
| committer | Jakub Kicinski <[email protected]> | 2025-02-26 02:31:05 +0000 |
| commit | 0163250039c3a861f922a293f6108880b2d4516f (patch) | |
| tree | 98b2994b4e5bce6ef14ebe541174a1ad6ee3d73c /tools/testing/selftests/net/lib/py/utils.py | |
| parent | net/mlx5e: Symmetric OR-XOR RSS hash control (diff) | |
| download | kernel-0163250039c3a861f922a293f6108880b2d4516f.tar.gz kernel-0163250039c3a861f922a293f6108880b2d4516f.zip | |
selftests: drv-net: Make rand_port() get a port more reliably
Instead of guessing a port and checking whether it's available, get an
available port from the OS.
Reviewed-by: Nimrod Oren <[email protected]>
Signed-off-by: Gal Pressman <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'tools/testing/selftests/net/lib/py/utils.py')
| -rw-r--r-- | tools/testing/selftests/net/lib/py/utils.py | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/tools/testing/selftests/net/lib/py/utils.py b/tools/testing/selftests/net/lib/py/utils.py index d879700ef2b9..a6af97c7e283 100644 --- a/tools/testing/selftests/net/lib/py/utils.py +++ b/tools/testing/selftests/net/lib/py/utils.py @@ -187,18 +187,11 @@ def ethtool(args, json=None, ns=None, host=None): def rand_port(): """ - Get a random unprivileged port, try to make sure it's not already used. + Get a random unprivileged port. """ - for _ in range(1000): - port = random.randint(10000, 65535) - try: - with socket.socket(socket.AF_INET6, socket.SOCK_STREAM) as s: - s.bind(("", port)) - return port - except OSError as e: - if e.errno != errno.EADDRINUSE: - raise - raise Exception("Can't find any free unprivileged port") + with socket.socket(socket.AF_INET6, socket.SOCK_STREAM) as s: + s.bind(("", 0)) + return s.getsockname()[1] def wait_port_listen(port, proto="tcp", ns=None, host=None, sleep=0.005, deadline=5): |
