forked from osmocom/wireshark
RTPS: RTPS 2.3 Domain ID and Domain Tag support.
Added dissection of field PID_DOMAIN_TAG. PID_DOMAIN_ID moved to PID_RTI_DOMAIN_ID and PID_IS_RELIABLE moved to PID_DOMAIN_ID. Change-Id: Ie189b2d2e66b705df202e7ee3e752aea5ddee271 Reviewed-on: https://code.wireshark.org/review/30664 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl>
This commit is contained in:
parent
f8100ba30a
commit
1fcdd66dda
|
@ -77,6 +77,7 @@ static int hf_rtps_protocol_version_minor = -1;
|
|||
static int hf_rtps_vendor_id = -1;
|
||||
|
||||
static int hf_rtps_domain_id = -1;
|
||||
static int hf_rtps_domain_tag = -1;
|
||||
static int hf_rtps_participant_idx = -1;
|
||||
static int hf_rtps_nature_type = -1;
|
||||
|
||||
|
@ -933,6 +934,8 @@ static const value_string parameter_id_v2_vals[] = {
|
|||
{ PID_DATA_TAGS, "PID_DATA_TAGS" },
|
||||
{ PID_ENDPOINT_SECURITY_INFO, "PID_ENDPOINT_SECURITY_INFO" },
|
||||
{ PID_PARTICIPANT_SECURITY_INFO, "PID_PARTICIPANT_SECURITY_INFO" },
|
||||
{ PID_DOMAIN_ID, "PID_DOMAIN_ID" },
|
||||
{ PID_DOMAIN_TAG, "PID_DOMAIN_TAG" },
|
||||
|
||||
/* The following PID are deprecated */
|
||||
{ PID_DEADLINE_OFFERED, "PID_DEADLINE_OFFERED [deprecated]" },
|
||||
|
@ -974,7 +977,7 @@ static const value_string parameter_id_rti_vals[] = {
|
|||
{ PID_DIRECT_COMMUNICATION, "PID_DIRECT_COMMUNICATION" },
|
||||
{ PID_TYPE_OBJECT, "PID_TYPE_OBJECT" },
|
||||
{ PID_EXPECTS_VIRTUAL_HB, "PID_EXPECTS_VIRTUAL_HB" },
|
||||
{ PID_DOMAIN_ID, "PID_DOMAIN_ID" },
|
||||
{ PID_RTI_DOMAIN_ID, "PID_RTI_DOMAIN_ID" },
|
||||
{ PID_TOPIC_QUERY_PUBLICATION, "PID_TOPIC_QUERY_PUBLICATION" },
|
||||
{ PID_ENDPOINT_PROPERTY_CHANGE_EPOCH, "PID_ENDPOINT_PROPERTY_CHANGE_EPOCH" },
|
||||
{ PID_REACHABILITY_LEASE_DURATION, "PID_REACHABILITY_LEASE_DURATION" },
|
||||
|
@ -4672,11 +4675,13 @@ static gboolean dissect_parameter_sequence_rti_dds(proto_tree *rtps_parameter_tr
|
|||
|
||||
/* 0...2...........7...............15.............23...............31
|
||||
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
* | PID_DOMAIN_ID | length |
|
||||
* | PID_DOMAIN_ID|PID_RTI_DOMAIN_ID| length |
|
||||
* +---------------+---------------+---------------+---------------+
|
||||
* | long domain_id |
|
||||
* +---------------+---------------+---------------+---------------+
|
||||
*/
|
||||
|
||||
case PID_RTI_DOMAIN_ID:
|
||||
case PID_DOMAIN_ID: {
|
||||
if (is_inline_qos) { /* PID_RELATED_ORIGINAL_WRITER_INFO */
|
||||
ENSURE_LENGTH(16);
|
||||
|
@ -4695,6 +4700,22 @@ static gboolean dissect_parameter_sequence_rti_dds(proto_tree *rtps_parameter_tr
|
|||
break;
|
||||
}
|
||||
|
||||
/* 0...2...........7...............15.............23...............31
|
||||
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
* | PID_DOMAIN_TAG | length |
|
||||
* +---------------+---------------+---------------+---------------+
|
||||
* | long domain_tag.Length |
|
||||
* +---------------+---------------+---------------+---------------+
|
||||
* | string domain_tag |
|
||||
* | ... |
|
||||
* +---------------+---------------+---------------+---------------+
|
||||
*/
|
||||
case PID_DOMAIN_TAG: {
|
||||
ENSURE_LENGTH(4);
|
||||
rtps_util_add_string(rtps_parameter_tree, tvb, offset, hf_rtps_domain_tag, encoding);
|
||||
break;
|
||||
}
|
||||
|
||||
case PID_EXTENDED: {
|
||||
ENSURE_LENGTH(8);
|
||||
proto_tree_add_item(rtps_parameter_tree, hf_rtps_param_extended_parameter, tvb, offset, 4, encoding);
|
||||
|
@ -10063,6 +10084,17 @@ void proto_register_rtps(void) {
|
|||
HFILL }
|
||||
},
|
||||
|
||||
{ &hf_rtps_domain_tag, {
|
||||
"domain_tag",
|
||||
"rtps.domain_tag",
|
||||
FT_STRINGZ,
|
||||
BASE_NONE,
|
||||
NULL,
|
||||
0,
|
||||
"Domain Tag ID",
|
||||
HFILL }
|
||||
},
|
||||
|
||||
{ &hf_rtps_participant_idx, {
|
||||
"participant_idx",
|
||||
"rtps.participant_idx",
|
||||
|
|
|
@ -245,6 +245,8 @@ typedef struct _rtps_dissector_data {
|
|||
#define PID_BASE_TYPE_NAME (0x0076)
|
||||
#define PID_ENABLE_ENCRYPTION (0x0077)
|
||||
#define PID_ENABLE_AUTHENTICATION (0x0078)
|
||||
#define PID_DOMAIN_ID (0x000f)
|
||||
#define PID_DOMAIN_TAG (0x4014)
|
||||
|
||||
/* Vendor-specific: RTI */
|
||||
#define PID_PRODUCT_VERSION (0x8000)
|
||||
|
@ -259,7 +261,7 @@ typedef struct _rtps_dissector_data {
|
|||
#define PID_ACK_KIND (0x800b)
|
||||
#define PID_PEER_HOST_EPOCH (0x800e)
|
||||
#define PID_RELATED_ORIGINAL_WRITER_INFO (0x800f)/* inline QoS */
|
||||
#define PID_DOMAIN_ID (0x800f)
|
||||
#define PID_RTI_DOMAIN_ID (0x800f)
|
||||
#define PID_RELATED_READER_GUID (0x8010)/* inline QoS */
|
||||
#define PID_TRANSPORT_INFO_LIST (0x8010)
|
||||
#define PID_SOURCE_GUID (0x8011)/* inline QoS */
|
||||
|
|
Loading…
Reference in New Issue