RustDDS
RustDDS copied to clipboard
Running RustDDS only on localhost
Hi. I have a local setup where I have RustDDS running in one program, reading data from serial and forwarding it over DDS. The receiving end is running node-openDDS implementation. Everything works fine when any of the physical NICs are switched on and connected (Ethernet cable plugged in or WiFi connected). Whenever I disconnect the physical interface, I get the following warning on RustDDS side:
[2022-07-14T07:38:03Z WARN rustdds::network::udp_sender] send_to_locator - send_to 239.255.0.1:19900 : Os { code: 101, kind: NetworkUnreachable, message: "Network is unreachable" }
In this state there are no more messages published according to wireshark.
The same behaviour occurs when I disable the interfaces from terminal (ip link set $IF down
)
As I understand (also mentioned here) DDS discovery is sent over all non-loopback interfaces (so, by default no localhost?). Is there a possibility to do all the communication on localhost and is this RustDDS specific problem or something that conflicts with the whole RTPS protocol on a level I have yet to understand? I seem to find little to none documentation of similar issues on the internet.