forked from osmocom/wireshark
RTPS: Topic Information feature not working with RTI Connext DDS 6
Default QoS is not sent anymore.Topic Information feature expects the Reliability, Durability and Ownership fields in the discovery Data(w) packet, so it will never be shown in Connext > 6.0.0. Since there is a link to the Data(w) packet, there is no need to show Reliability, Durability and Ownership. Change-Id: Ie23395916e5dc6ea8e13e4de502f0eb811d63814 Reviewed-on: https://code.wireshark.org/review/33727 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
parent
9d46d828c9
commit
ae089f1613
|
@ -4097,7 +4097,7 @@ static int rtps_util_add_fragment_number_set(proto_tree *tree, packet_info *pinf
|
|||
|
||||
static void rtps_util_store_type_mapping(packet_info *pinfo, tvbuff_t *tvb, gint offset,
|
||||
type_mapping * type_mapping_object, const gchar * value,
|
||||
gint topic_info_add_id, const guint encoding) {
|
||||
gint topic_info_add_id) {
|
||||
|
||||
if (enable_topic_info && type_mapping_object) {
|
||||
switch (topic_info_add_id) {
|
||||
|
@ -4122,27 +4122,7 @@ static void rtps_util_store_type_mapping(packet_info *pinfo, tvbuff_t *tvb, gint
|
|||
type_mapping_object->fields_visited | TOPIC_INFO_ADD_TYPE_NAME;
|
||||
break;
|
||||
}
|
||||
case TOPIC_INFO_ADD_RELIABILITY: {
|
||||
type_mapping_object->dw_qos.reliability_kind =
|
||||
tvb_get_guint32(tvb, offset, encoding);
|
||||
type_mapping_object->fields_visited =
|
||||
type_mapping_object->fields_visited | TOPIC_INFO_ADD_RELIABILITY;
|
||||
break;
|
||||
}
|
||||
case TOPIC_INFO_ADD_DURABILITY: {
|
||||
type_mapping_object->dw_qos.durability_kind =
|
||||
tvb_get_guint32(tvb, offset, encoding);
|
||||
type_mapping_object->fields_visited =
|
||||
type_mapping_object->fields_visited | TOPIC_INFO_ADD_DURABILITY;
|
||||
break;
|
||||
}
|
||||
case TOPIC_INFO_ADD_OWNERSHIP: {
|
||||
type_mapping_object->dw_qos.ownership_kind =
|
||||
tvb_get_guint32(tvb, offset, encoding);
|
||||
type_mapping_object->fields_visited =
|
||||
type_mapping_object->fields_visited | TOPIC_INFO_ADD_OWNERSHIP;
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -4189,7 +4169,7 @@ static void rtps_util_format_typename(gchar * type_name, gchar ** output) {
|
|||
static void rtps_util_topic_info_add_tree(proto_tree *tree, tvbuff_t *tvb,
|
||||
gint offset, endpoint_guid * guid) {
|
||||
if (enable_topic_info) {
|
||||
proto_tree * topic_info_tree, * dw_qos_tree;
|
||||
proto_tree * topic_info_tree;
|
||||
proto_item * ti;
|
||||
type_mapping * type_mapping_object = rtps_util_get_topic_info(guid);
|
||||
if (type_mapping_object != NULL) {
|
||||
|
@ -4201,12 +4181,6 @@ static void rtps_util_topic_info_add_tree(proto_tree *tree, tvbuff_t *tvb,
|
|||
ti = proto_tree_add_string(topic_info_tree, hf_rtps_param_type_name, tvb, offset, 0,
|
||||
type_mapping_object->type_name);
|
||||
proto_item_set_generated(ti);
|
||||
dw_qos_tree = proto_tree_add_subtree_format(topic_info_tree, tvb, 0, 0,
|
||||
ett_rtps_topic_info_dw_qos, NULL, "DataWriter QoS: %s, %s, %s",
|
||||
val_to_str(type_mapping_object->dw_qos.reliability_kind, reliability_qos_vals, "%02x"),
|
||||
val_to_str(type_mapping_object->dw_qos.durability_kind, durability_qos_vals, "%02x"),
|
||||
val_to_str(type_mapping_object->dw_qos.ownership_kind, ownership_qos_vals, "%02x"));
|
||||
proto_item_set_generated(dw_qos_tree);
|
||||
ti = proto_tree_add_uint(topic_info_tree, hf_rtps_dcps_publication_data_frame_number,
|
||||
tvb, 0, 0, type_mapping_object->dcps_publication_frame_number);
|
||||
proto_item_set_generated(ti);
|
||||
|
@ -5234,7 +5208,7 @@ static gboolean dissect_parameter_sequence_v1(proto_tree *rtps_parameter_tree, p
|
|||
retVal = (gchar*)tvb_get_string_enc(wmem_packet_scope(), tvb, offset+4, str_size, ENC_ASCII);
|
||||
|
||||
rtps_util_store_type_mapping(pinfo, tvb, offset, type_mapping_object,
|
||||
retVal, TOPIC_INFO_ADD_TOPIC_NAME, encoding);
|
||||
retVal, TOPIC_INFO_ADD_TOPIC_NAME);
|
||||
|
||||
rtps_util_add_string(rtps_parameter_tree, tvb, offset, hf_rtps_param_topic_name, encoding);
|
||||
break;
|
||||
|
@ -5270,7 +5244,7 @@ static gboolean dissect_parameter_sequence_v1(proto_tree *rtps_parameter_tree, p
|
|||
retVal = (gchar*) tvb_get_string_enc(wmem_packet_scope(), tvb, offset+4, str_size, ENC_ASCII);
|
||||
|
||||
rtps_util_store_type_mapping(pinfo, tvb, offset, type_mapping_object,
|
||||
retVal, TOPIC_INFO_ADD_TYPE_NAME, encoding);
|
||||
retVal, TOPIC_INFO_ADD_TYPE_NAME);
|
||||
|
||||
rtps_util_add_string(rtps_parameter_tree, tvb, offset, hf_rtps_param_type_name, encoding);
|
||||
break;
|
||||
|
@ -5352,8 +5326,6 @@ static gboolean dissect_parameter_sequence_v1(proto_tree *rtps_parameter_tree, p
|
|||
case PID_RELIABILITY:
|
||||
ENSURE_LENGTH(4);
|
||||
proto_tree_add_item(rtps_parameter_tree, hf_rtps_reliability_kind, tvb, offset, 4, encoding);
|
||||
rtps_util_store_type_mapping(pinfo, tvb, offset, type_mapping_object, NULL,
|
||||
TOPIC_INFO_ADD_RELIABILITY, encoding);
|
||||
/* Older version of the protocol (and for PID_RELIABILITY_OFFERED)
|
||||
* this parameter was carrying also a NtpTime called
|
||||
* 'maxBlockingTime'.
|
||||
|
@ -5393,8 +5365,6 @@ static gboolean dissect_parameter_sequence_v1(proto_tree *rtps_parameter_tree, p
|
|||
case PID_DURABILITY:
|
||||
ENSURE_LENGTH(4);
|
||||
proto_tree_add_item(rtps_parameter_tree, hf_rtps_durability, tvb, offset, 4, encoding);
|
||||
rtps_util_store_type_mapping(pinfo, tvb, offset, type_mapping_object, NULL,
|
||||
TOPIC_INFO_ADD_DURABILITY, encoding);
|
||||
break;
|
||||
|
||||
/* 0...2...........7...............15.............23...............31
|
||||
|
@ -5432,8 +5402,6 @@ static gboolean dissect_parameter_sequence_v1(proto_tree *rtps_parameter_tree, p
|
|||
case PID_OWNERSHIP:
|
||||
ENSURE_LENGTH(4);
|
||||
proto_tree_add_item(rtps_parameter_tree, hf_rtps_ownership, tvb, offset, 4, encoding);
|
||||
rtps_util_store_type_mapping(pinfo, tvb, offset, type_mapping_object, NULL,
|
||||
TOPIC_INFO_ADD_OWNERSHIP, encoding);
|
||||
break;
|
||||
|
||||
/* 0...2...........7...............15.............23...............31
|
||||
|
@ -6363,7 +6331,7 @@ static gboolean dissect_parameter_sequence_v2(proto_tree *rtps_parameter_tree, p
|
|||
case PID_ENDPOINT_GUID:
|
||||
ENSURE_LENGTH(16);
|
||||
rtps_util_store_type_mapping(pinfo, tvb, offset, type_mapping_object,
|
||||
NULL, TOPIC_INFO_ADD_GUID, encoding);
|
||||
NULL, TOPIC_INFO_ADD_GUID);
|
||||
rtps_util_add_generic_guid_v2(rtps_parameter_tree, tvb, offset,
|
||||
hf_rtps_endpoint_guid, hf_rtps_param_host_id, hf_rtps_param_app_id,
|
||||
hf_rtps_param_instance_id, hf_rtps_param_entity, hf_rtps_param_entity_key,
|
||||
|
|
|
@ -566,10 +566,7 @@ typedef struct _rtps_dissector_data {
|
|||
#define TOPIC_INFO_ADD_GUID (0x01)
|
||||
#define TOPIC_INFO_ADD_TYPE_NAME (0x02)
|
||||
#define TOPIC_INFO_ADD_TOPIC_NAME (0x04)
|
||||
#define TOPIC_INFO_ADD_RELIABILITY (0x08)
|
||||
#define TOPIC_INFO_ADD_DURABILITY (0x10)
|
||||
#define TOPIC_INFO_ADD_OWNERSHIP (0x20)
|
||||
#define TOPIC_INFO_ALL_SET (0x3f)
|
||||
#define TOPIC_INFO_ALL_SET (0x07)
|
||||
|
||||
#define NOT_A_FRAGMENT (-1)
|
||||
|
||||
|
|
Loading…
Reference in New Issue