RobotLocomotion / drake-ros

Experimental prototyping (for now)
Apache License 2.0
84 stars 32 forks source link

[rmw_isolation] Should consider using domain tags #241

Open EricCousineau-TRI opened 1 year ago

EricCousineau-TRI commented 1 year ago

See Slack discussion: https://drakedevelopers.slack.com/archives/C01B5B320QY/p1677635620675329?thread_ts=1677628587.665409&cid=C01B5B320QY

TL;DR Can help for additional DDS-layer rejection so we could have process-guided isolation. It is probably still worthwhile to keep our IP + port-based hashing to avoid actual network traffic, but we can decrease the chance of at least DDS cross-talk by adding the domain tag as an additional process-specific discriminator.

\cc @sloretz @mxgrey

mxgrey commented 1 year ago

Overview of domain tag concept.

How to configure domain tags will differ between the DDS vendors. Here are the documents I can find:

It looks like domain tags were introduced in DDSI-RTPS spec v2.3 (ctrl+f "domainTag") which was published in 2019. As a result, it seems to not be fully supported by all vendors.