Participant detection of network interfaces

2 posts / 0 new
Last post
Last seen: 6 years 8 months ago
Joined: 06/10/2014
Posts: 49
Participant detection of network interfaces


I'm running some DDS applications on an Ubuntu server with 2 NICs.  One nic is configured statically and the other uses a DHCP server.   3 applications run as services that start when the static network interface is up.  6 other applications start after a window manager is running. It appears that the 3 services are starting before the DHCP interface is available because when I look at the pariticpants in the rti admin console, the only locator listed is the static ip address.  The 6 other applications have both the static ip address and the dhcp assigned address.

If a nic comes up after a participant is enabled, will the participant ever discover the new nic? Or does the participant only discover network interfaces that are available when it is initiializing?

Thanks for any ideas.

Anne Fiore

JavierPovedano's picture
Last seen: 1 year 2 months ago
Joined: 06/05/2013
Posts: 16

Hi Anne,

The scenario you are describing (bringing up interfaces with Dynamic IP addreses after application startup) is not currently supported in RTI Connext DDS. However, we are currently working to support your scenario.

In the case of statically assigned IP addresses you can set the property dds.transport.UDPv4.builtin.ignore_nonup_interfaces=0. From the Users manual:

It allows/disallows the use of interfaces that are not reported as UP (by the operating system) in the UDPv4 transport. Two values are allowed:

    • 0: Allow interfaces that are reported as DOWN.
Setting this value to 0 supports communication scenarios in which interfaces are enabled after the participant is created. Once the interfaces are enabled, discovery will not occur until the participant sends the next periodic announcement (controlled by the parameter participant_qos.discovery_config.participant_liveliness_assert_period).

To reduce discovery time, you may want to decrease the value of participant_liveliness_assert_period

For the above scenario, there is one caveat: non-UP interfaces must have a static IP assigned.

Let me know if you have more questions