Effect of TRANSPORT_PRIORITY Qos Policy on the metatraffic (Heartbeats, Acks, Nacks, Gaps)


The TRANSPORT_PRIORITY DataWriter Qos Policy controls the transport-level priority settings. Each transport maps it to a transport-specific prioritization mechanism which in the case of UDP are the IP packet diffserv ToS/DSCP bits.  Out-of-the box this feature is not enabled, but this forum thread explains how to enable it for the UDP transport. 

Give the above, a question we sometimes hear from our users is whether these apply only to the Data packets sent by the DataWriter or also to meta-traffic packets such as the HeartBeats, Gaps, AckNacks?  Recencly the question took this form:

Can anyone tell me when using TRANSPORT_PRIORITY on a DataWriter, whether the reliability meta-traffic has the same priority applied as the user data traffic; i.e., do Heartbeats from the DataWriter and ACK/NACKs from the DataReader have the same IO-level priority bits applied? 

The answer is that the DataWriter TRANSPORT_PRIORITY Qos affects all the UDP packets sent  by the DataWriter. This includes the Data as well a Heartbeat, Gap and repair (Data) packets. It does not affect the AckNack packets because those originate on the DataReader.