def find_link_address(link_address: Optional[IPv6Address],
interface_addresses: Iterable[IPv6Address]) -> IPv6Address:
"""
Find the appropriate reply-from address
:param link_address: The link-address address specified in the configuration, if any
:param interface_addresses: The list of addresses on the interface
:return: The reply-from address to use
"""
if link_address:
return link_address
else:
# Pick the first global address
global_addresses = [address for address in interface_addresses if is_global_unicast(address)]
if global_addresses:
return global_addresses[0]
else:
return IPv6Address('::')
评论列表
文章目录