Allow to specify device name when listing host IP addresses

Change-Id: Ia3f8a5ed8d5d27973e0294c14f979931a959da5e
This commit is contained in:
Federico Ressi 2021-09-21 11:52:01 +02:00
parent 3b39ea1b24
commit f5982e8bed
1 changed files with 9 additions and 3 deletions

View File

@ -39,15 +39,21 @@ INETS = {
}
def list_ip_addresses(ip_version: typing.Optional[int] = None,
scope: str = None, **execute_params) -> \
def list_ip_addresses(ip_version: int = None,
device: str = None,
scope: str = None,
**execute_params) -> \
tobiko.Selection[netaddr.IPAddress]:
inets = INETS.get(ip_version)
if inets is None:
error = "invalid IP version: {!r}".format(ip_version)
raise IpError(error=error)
output = execute_ip(['-o', 'address', 'list'], **execute_params)
command = ['-o', 'address', 'list']
if device is not None:
tobiko.check_valid_type(device, str)
command.append(device)
output = execute_ip(command, **execute_params)
ips: tobiko.Selection[netaddr.IPAddress] = tobiko.Selection()
if output: