# Offloading compute: Full topic list no longer visible on Stretch

**URL:** <https://forum.hello-robot.com/t/offloading-compute-full-topic-list-no-longer-visible-on-stretch/1036>\
**Category:** Ask\
**Created:** [July 10, 2024, 2:38pm UTC](https://forum.hello-robot.com/t/offloading-compute-full-topic-list-no-longer-visible-on-stretch/1036 "2024-07-10T14:38:49Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![zktlks](https://avatars.discourse-cdn.com/v4/letter/z/3e96dc/32.png) [@zktlks](https://forum.hello-robot.com/u/zktlks)\
**Post date:** [July 10, 2024, 2:38pm UTC](https://forum.hello-robot.com/t/offloading-compute-full-topic-list-no-longer-visible-on-stretch/1036/1 "2024-07-10T14:38:49Z")

</div>

Hello,

Our team has followed the instructions to offload compute from the official[Hello Robot documentation](https://docs.hello-robot.com/0.3/ros2/remote_compute/). We are using unicast (our router does not support multicast), and all the topics appear on the remote computer when we run `ros2 topic list`. However, when we run `ros2 topic list` on the Stretch 3 robot, the full list of topics does not appear, and we cannot read any of the topics from the robot. Namely, only `/parameter_events` and `/rosout` appear. We ensured that we ran `ros2 launch stretch_core stretch_driver.launch.py` and `ros2 launch stretch_core d435i_high_resolution.launch.py` in another terminal. Our current FastDDS configuration is based on [this file](https://github.com/ros2/ros2_dds_profiles_examples/blob/main/fastdds/unicast_discovery_from_another_host.xml), which we copied and edited accordingly on both the robot and remote computer. On every terminal, we also configured the environment variables RMW\_IMPLEMENTATION and FASTRTPS\_DEFAULT\_PROFILES\_FILE as specified [here](https://github.com/ros2/ros2_dds_profiles_examples).

How can we fix the problem of the topics only appearing on the remote computer but not appearing on the robot?

Thank you,

Zoe and team

---

<div class="post-metadata">

**Author:** ![Mohamed\_Fazil](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/mohamed_fazil/32/261_2.png) [@Mohamed\_Fazil](https://forum.hello-robot.com/u/Mohamed_Fazil)\
**Post date:** [July 15, 2024, 8:23pm UTC](https://forum.hello-robot.com/t/offloading-compute-full-topic-list-no-longer-visible-on-stretch/1036/3 "2024-07-15T20:23:30Z")

</div>

Hi @zktlks, thankyou for bringing-up this issue.

Because you mention that you are able see the topics listed from the remote computer but not in the robot itself, and also that you have setup your ROS2 to work with a Unicast setup using the Fast-DDs, it might be the case that you might have to _enable Multicast in the loopback network adapter (`lo`)_ which could solve node discovery within the robot.

```auto
sudo ifconfig lo mulitcast
sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev lo

```

(source) I found this Github Issue thread informative. It also explains how to enable Multicast in the robot’s loopback network while using Fast-DDS.

> <https://github.com/eProsima/Fast-DDS/issues/63#issue-179950329>
>
> I ran into a couple of for me unclear things and wanted to sort them out here.
> A…ll I encountered is based on \[this\](https://github.com/ros2/demos/tree/master/image\_tools) ROS2 demo.
> 
> \*\*1. Disabled all network devices except loopback adapter.\*\*  
> 
> I run all publisher/subscriber only locally on my machine, using the loopback device \`lo\` for communicating. 
> When doing so, the demo application aborts directly with the following message
> 
> \`\`\`
> terminate called after throwing an instance of 'boost::exception\_detail::clone\_impl\<boost::exception\_detail::error\_info\_injector\<boost::system::system\_error\> \>'
> what(): set\_option: No such device
> Aborted
> \`\`\`
> 
> From what I understand is that there is no multicast enabled device available. Does that mean, Fast-RTPS does necessarily require a multicast enabled network interface?
> 
> \*\*2. Enabling multicast on loopback adapter\*\*
> 
> Given the error in 1.) I explicitly enabled the multicast functionality on the \`lo\`. 
> 
> \`\`\`
> sudo ifconfig lo mulitcast
> sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev lo
> \`\`\`
> 
> With this, the demo application successfully runs and the publisher/subscriber communication works over the \`lo\`. 
> 
> Output from wireshark:
> 
> \`\`\`
> Internet Protocol Version 4, Src: 0.0.0.0, Dst: 239.255.1.4
> \[...\]
> Time to live: 1
> \[...\]
> Default port mapping: MULTICAST\_USERTRAFFIC, domainId=71
> \[...\]
> fragementSize: 64964
> \`\`\`
> 
> \*\*3. Enabling wireless adapter\*\*
> With both adapter enabled (\`lo\` and \`wlan0\`) I run the same demo again. The communication works just fine, however in wireshark I see RTPS communication on both devices - one multicast, one unicast.
> 
> Output from wireshark (1):
> 
> \`\`\`
> Internet Protocol Version 4, Src: 10.0.0.177, Dst: 239.255.1.4
> \[...\]
> Time to live: 1
> \[...\]
> Default port mapping: MULTICAST\_USERTRAFFIC, domainId=71
> \[...\]
> fragementSize: 64964
> \`\`\`
> 
> Output from wireshark (2):
> 
> \`\`\`
> Internet Protocol Version 4, Src: 10.0.0.177, Dst: 10.0.0177
> \[...\]
> Time to live: 64
> \[...\]
> Default port mapping: domainId=71, participantIdx=0, nature=UNICAST\_USERTRAFFIC
> \[...\]
> fragementSize: 64964
> \`\`\`
> 
> The actual question here now is how Fast-RTPS decides which device is going to be taken for communication and why there is traffic on both devices in 3.) with one sending data in multicast and the other in unicast.

Another reference debug step you could try to fix the communication issue in Unicast is setting Peer IP addresses, as mentioned in this forum post, where they had a similar situation to yours.

> [@Stretch 3 Offloading Computation Issues](https://forum.hello-robot.com/t/stretch-3-offloading-computation-issues/1037/2):
>
> We fixed this issue using [unicast\_discovery\_from\_another\_host.xml](https://github.com/ros2/ros2_dds_profiles_examples/blob/main/fastdds/unicast_discovery_from_another_host.xml) and the corresponding instructions [here](https://github.com/ros2/ros2_dds_profiles_examples/tree/main).

---

<div class="post-metadata">

**Author:** ![Hyperti](https://avatars.discourse-cdn.com/v4/letter/h/e68b1a/32.png) [@Hyperti](https://forum.hello-robot.com/u/Hyperti)\
**Post date:** [July 16, 2024, 8:19am UTC](https://forum.hello-robot.com/t/offloading-compute-full-topic-list-no-longer-visible-on-stretch/1036/4 "2024-07-16T08:19:30Z")

</div>

Hi @Mohamed_Fazil, thank you for your response.

We tried the suggested fix of enabling multicast in lo, but it did not resolve the issue. We already set Peer IP addresses, as we already use the exact same XML file as the forum post you linked.

---

<div class="post-metadata">

**Author:** ![Mohamed\_Fazil](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/mohamed_fazil/32/261_2.png) [@Mohamed\_Fazil](https://forum.hello-robot.com/u/Mohamed_Fazil)\
**Post date:** [July 22, 2024, 5:56pm UTC](https://forum.hello-robot.com/t/offloading-compute-full-topic-list-no-longer-visible-on-stretch/1036/5 "2024-07-22T17:56:42Z")

</div>

Hi @Hyperti , Unsure exactly what is going behind the scenes between the Middle ware and networking interaction. I would suggest taking this issue to the official [ROS Forums](https://answers.ros.org/questions/).
