Skip to content

get_address() fails when only nonstandard interface names are available #741

Open

Description

@d4l3k

ucxx.get_address() only auto-discovers interfaces whose names begin with ib, eth, or en. If every usable interface has another name, such as beth3 or beth4, it raises OSError("No devices found") even when those interfaces have valid addresses.

prefix_priority = ["ib", "eth", "en"]

Expected behavior: preserve the existing ib, eth, and en priority, exclude loopback, then try all remaining interfaces in deterministic order.

Observed with UCXX 0.52.0 at commit 9169dc3daee00e6d7cb4feb77751a984ab3a1f23.

Activity

  1. pentschev commented on Sep 3, 2026

    @pentschev
    Member

    I don't think that's something we can reliably do. For example, docker* will error/deadlock on systems with Docker, and this applies to many others depending on system configuration (other common cases are tun*, tap*, virbr0, etc.). At that stage the user needs to be capable of intervening, which is what the ifname kwarg in that function allows. If you have a concrete reliable suggestion, please let us know, but this is unfortunately something I think we cannot universally do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions