4.3. Transports
4.3.1. [Critical] Applications using Real-Time WAN may have stopped communicating after IP mobility events
Applications using the Real-Time WAN Transport could stop receiving data if multiple IP mobility events (for example, a network interface going down and then up) occurred close together in time. This issue could cause communication to stop after one of those events.
The issue only occurred when all of the following conditions were met:
The platform was a Linux system.
The application did not configure
comm_portsin the Real-Time WAN Transport (that is, port assignment was automatic).Multiple IP mobility events occurred in close succession.
When this issue occurred, the following error messages were logged:
NDDS_Transport_UDP_WAN_CommPortsMappingTable_addMapping: !add a mapping for the provided rtps port already exists
NDDS_Transport_UDP_create_recvresource_rrEA: !add comm ports mapping
DDS_DomainParticipantPresentation_update_participant_locatorsI: ERROR: Failed to set default unicast entryports
[RTI Issue ID CORE-16439]
4.3.2. [Major] IP mobility functionality did not detect when network interfaces gained multicast capability
There was an issue preventing multicast communication when network interfaces gained multicast capability. Connext IP mobility functionality now properly detects when a network interface’s multicast flag changes from disabled to enabled, and creates the required multicast sockets.
[RTI Issue ID CORE-13152]
4.3.3. [Minor] Zero-Copy DataReaders did not filter out redundant samples
Zero-Copy DataReaders had the property
dds.data_reader.state.filter_redundant_samples set to false
automatically and the property was unnecessarily sent in endpoint
discovery samples. When this property is set to false, redundant samples
coming from the same virtual GUID will not be filtered. Situations that
would cause redundant samples include:
Redundant Routing Services forwarding the same samples from DataWriter to a DataReader.
Re-discovery after a liveliness loss event when using non-volatile durability.
In these scenarios, it is generally desired to only receive the samples
a single time in an application. However, setting
dds.data_reader.state.filter_redundant_samples to false would cause
the application to receive the samples more than once.
The dds.data_reader.state.filter_redundant_samples property is no
longer being set for Zero-Copy DataReaders. You can always choose to
set this property to false in the DataReader’s QoS if you would like
to continue to not filter redundant samples.
[RTI Issue ID CORE-16181]
4.3.5. [Minor] DomainParticipant failed to be enabled if a network interface with UDPv4 address 0.0.0.0 was detected
A network interface can temporarily have an address of 0.0.0.0 as a placeholder while waiting for DHCP to assign an address. If this happened, then enabling a DomainParticipant would have failed with the following error:
NDDS_Transport_UDPv4_SocketFactory_create_receive_socket:setsockopt(ADD_MEMBERSHIP) error 0XF9
This problem has been fixed for the UDPv4 transport by ignoring any interface with address 0.0.0.0.
[RTI Issue ID CORE-15550]