How to identify liveliness assertion of a data writer in Wireshark

3 posts / 0 new
Last post
Offline
Last seen: 5 years 3 months ago
Joined: 03/24/2014
Posts: 8
How to identify liveliness assertion of a data writer in Wireshark

I would like to verify a specific data writer is asserting liveliness per the liveliness lease duration defined in the QoS profile.  I've reviewed the RTI Wireshark Getting Started, but I can't seem to identify this message in Wireshark.  I've also noticed that the detail I can see is different when using Wireshark 1.2.3 that came in the RTI\installers 5.0.0\Wireshark 1.2.3.20120831 folder versus using Wireshark 1.10.6 from the Wireshark website.

Is there a field that I can filter on to inspect liveliness assertion *and* a way to tell which data writer it is from?  Is it different when using Connext Cert versus Connext DDS?

Organization:
Keywords:
Offline
Last seen: 5 years 3 months ago
Joined: 03/24/2014
Posts: 8

To clarify the question above, what messages are used to assert liveliness when QoS is set to AUTOMATIC_LIVELINESS_QOS?

Offline
Last seen: 1 year 4 weeks ago
Joined: 01/31/2011
Posts: 37

Hi LauraL,

If you're using AUTOMATIC_LIVELINESS, then the liveliness assertions are sent through the "participant channel".  I've attached a screenshot showing the behavior.  The liveliness assertions are the DATA(m) submessage, and the writer entity id is "ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_WRITER" (id 0x000200c2).  With AUTOMATIC liveliness, you get one assertion for all DataWriters belonging to the same participant, hence why this message goes over the participant channel.  So you can't differentiate DataWriters because AUTOMATIC dictates one message to assert liveliness for all DataWriters.

If you use MANUAL_BY_TOPIC, then you'll see individual liveliness messages from each DataWriter.  However, these will not go over the participant channel but rather be sent as heartbeats from the specific DataWriter (note: in Wireshark, these heartbeats look the same as the heartbeats for reliability traffic).  The writer entity id for the Heartbeat will match the writer entity id for the DataWriter asserting its liveliness.

Note that when using AUTOMATIC liveliness, the assertions are sent reliably.  That means there will be a Heartbeat to verify receipt, followed by an AckNack from the peer to indicate whether the assertion was received or needs to be resent.  In the packet capture I've provided, you can see the DATA(M), then the HEARTBEAT, then the ACKNACK.

-sumeet

File Attachments: