From 2812cb7f80e08205f831934886c6019c92947614 Mon Sep 17 00:00:00 2001 From: Vadim Yanitskiy Date: Tue, 6 Mar 2018 22:42:26 +0700 Subject: fake_trx/udp_link.py: use a random bind port by default This allows one to obtain a random available port from the OS, instead of enforcing to pick a static value manually. Change-Id: Ie8b60134239c5447d0b4373c6cca2f3a6ee3ec73 --- src/target/fake_trx/udp_link.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/target/fake_trx/udp_link.py b/src/target/fake_trx/udp_link.py index 0174ae37..99da95bb 100644 --- a/src/target/fake_trx/udp_link.py +++ b/src/target/fake_trx/udp_link.py @@ -25,7 +25,7 @@ import socket class UDPLink: - def __init__(self, remote_addr, remote_port, bind_port): + def __init__(self, remote_addr, remote_port, bind_port = 0): self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) self.sock.bind(('0.0.0.0', bind_port)) @@ -34,14 +34,15 @@ class UDPLink: # Save remote info self.remote_addr = remote_addr self.remote_port = remote_port - self.bind_port = bind_port def __del__(self): self.sock.close() def desc_link(self): - return "L:%u <-> R:%s:%u" \ - % (self.bind_port, self.remote_addr, self.remote_port) + (bind_addr, bind_port) = self.sock.getsockname() + + return "L:%s:%u <-> R:%s:%u" \ + % (bind_addr, bind_port, self.remote_addr, self.remote_port) def send(self, data): if type(data) not in [bytearray, bytes]: -- cgit v1.2.3