Skip to content

Issues with multicast discovery across hosts #626

@christian-rauch

Description

@christian-rauch

Operating System:

Ubuntu 24.04

ROS version or commit hash:

jazzy

RMW implementation (if applicable):

rmw_zenoh

RMW Configuration (if applicable):

Trying to use ZENOH_CONFIG_OVERRIDE='scouting/multicast/enabled=true'.

Client library (if applicable):

rclcpp

'ros2 doctor --report' output

ros2 doc --report
usage: ros2 [-h] [--use-python-default-buffering]
            Call `ros2 <command> -h` for more detailed usage. ...
ros2: error: argument Call `ros2 <command> -h` for more detailed usage.: invalid choice: 'doc' (choose from 'action', 'bag', 'component', 'control', 'daemon', 'doctor', 'extension_points', 'extensions', 'interface', 'launch', 'lifecycle', 'multicast', 'node', 'param', 'pkg', 'run', 'security', 'service', 'topic', 'wtf')

Steps to reproduce issue

Follow the instructions for "Enable multicast scouting (disabled by default) that allows ROS2 nodes to discover each other without requiring a Zenoh router:".

Setup: PC A (inet 10.71.1.208/24) and B (inet 10.71.1.207/24) in the same subnet.

# A
export ZENOH_CONFIG_OVERRIDE='scouting/multicast/enabled=true'
ros2 run demo_nodes_cpp talker
# B
export ZENOH_CONFIG_OVERRIDE='scouting/multicast/enabled=true'
ros2 run demo_nodes_cpp listener

Expected behavior

The listener on B should receive messages.

Actual behavior

The talker on A complains about a missing router: [rmw_zenoh_cpp]: Unable to connect to a Zenoh router. Have you started a router with ros2 run rmw_zenoh_cpp rmw_zenohd? but then continues to Publishing: 'Hello World: 1' etc.

The listener on B does not receive messages and shows the periodic warning:

WARN net-0 ThreadId(02) zenoh::net::runtime::orchestrator: Unable to connect to any locator of scouted peer 8dfe45adee11bab2eedd745f7fa24506: [tcp/127.0.0.1:42649]

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions