ros2 / rmw

The ROS Middleware (rmw) Interface.
Apache License 2.0
95 stars 67 forks source link

Configure maximum DDS participants in a generic way #324

Open nbbrooks opened 2 years ago

nbbrooks commented 2 years ago

Feature request

As a developer, I would like a DDS vendor agnostic way to set the maximum number of DDS participants, so that (1) myself and new users do not have to maintain different configs for different vendors, and (2) I can easily fix the "Failed to find a free participant index for domain #" without knowing the person's DDS vendor or config file details.

Feature description

As a developer, I prefer to use 'ROS_LOCALHOST_ONLY' environment variable over maintaining a custom DDS config for each vendor. It makes it very easy for new users using whatever DDS vendor to ensure they are keeping traffic local to their machine. However, I cannot fully migrate away from maintaining these configs, because the default max participants is too low for my use cases.

I would like a similar environment variable like 'ROS_LOCALHOST_ONLY' that adjust the max # participants (ex: MaxAutoParticipantIndex for CycloneDDS).

Implementation considerations

I am not terribly familiar with the implementation specifics of the various ROS DDS implementations. With a bit of digging around, I think this might go inside the 'rmw_init_options_t' data structure?

The discussion leading up to this feature request can be found here.

ros-discourse commented 2 years ago

This issue has been mentioned on ROS Discourse. There might be relevant details there:

https://discourse.ros.org/t/unconfigured-dds-considered-harmful-to-networks/25689/21

fujitatomoya commented 2 years ago

I think we need to discuss on vendor-agnostic general configuration as ROS 2 including this specific configuration. cz having many vendor-specific configuration does not work for ROS 2 user.

like participant max index,

besides, it would be probably nice to talk about if those are environment variables, since i would prefer ROS 2 parameter.

ros-discourse commented 2 years ago

This issue has been mentioned on ROS Discourse. There might be relevant details there:

https://discourse.ros.org/t/unconfigured-dds-considered-harmful-to-networks/25689/26