cyclonedds icon indicating copy to clipboard operation
cyclonedds copied to clipboard

Multiple Interface: mulitcast will be all disabled while some interfaces don't support multicast

Open evshary opened this issue 4 years ago • 0 comments

I tried to use the multi-interface feature on tag 0.8.0beta5.

For the one device, I've used the following interfaces:

<NetworkInterfaceAddress>lo,wlp0s20f3</NetworkInterfaceAddress>

Now I have another device connected to the wireless interface, but they can't communicate with each other (Run HelloWorld Example)

Here is the error log:

1622625595.240258 [0] Helloworld: interfaces: lo udp/127.0.0.1(q1) wlp0s20f3 wireless udp/192.168.0.13(q9) virbr0 udp/192.168.122.1(q9) docker0 udp/172.17.0.1(q9) br-f6a98a0de13e udp/172.18.0.1(q9) br-5f9a4b33a253 udp/172.20.0.1(q9) br-8a0b6724be2a udp/172.19.0.1(q9)
1622625595.240294 [0] Helloworld: selected interfaces: lo (index 1), wlp0s20f3 (index 3)
1622625595.240304 [0] Helloworld: selected interface "lo" is not multicast-capable: disabling multicast

It seems like it found that loopback interface does not support mulitcast so it disables the mulitcast function in all interface.

Based on suggestions from @eboasson, here are some workarounds:

  1. Enable muliticast in loopback
  2. Use <AssumeMulticastCapable>lo</AssumeMulticastCapable>
  3. Use peers to communicate

evshary avatar Jun 02 '21 10:06 evshary