In the SCSI dissector, I would like to add support for the OSD attribute
identification sense data descriptor.
The descriptor is a list of attribute page and attribute number fields.
The code would be added to dissect_scsi_descriptor_snsinfo in packet-scsi.c
because the SCSI dissector does not forward sense data to the
sub-dissector. My issue is that symbolic names for attribute pages and
attribute numbers are defined in packet-scsi-osd.c (page names are just a
string_value array, and attribute number names are given by function
osd_lookup_attribute).
What approach do you recommend for including the attribute names in the
fields of the sense data descriptor?
For reference, in packet-scsi-osd.c the fields that represent page/number
values are defined as
{ &hf_scsi_osd_attributes_page,
{"Attributes Page", "scsi_osd.attributes.page", FT_UINT32, BASE_HEX,
VALS(attributes_page_vals), 0, NULL, HFILL}},
{ &hf_scsi_osd_attribute_number,
{"Attribute Number", "scsi_osd.attribute.number", FT_UINT32, BASE_HEX,
NULL, 0, NULL, HFILL}},
And they are dissected as:
const attribute_page_numbers_t *apn;
proto_item *item;
item=proto_tree_add_item(tt, hf_scsi_osd_attribute_number, tvb, offset,
4, ENC_BIG_ENDIAN);
apn= osd_lookup_attribute(page,number);
if (!apn) {
expert_add_info(pinfo, item, &ei_osd_attr_unknown);
proto_item_append_text(item, " (Unknown)");
} else {
proto_item_append_text(item, " (%s)", apn->name);
}
Best Regards
Javier
___________________________________________________________________________
Sent via: Wireshark-dev mailing list <[email protected]>
Archives: http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
mailto:[email protected]?subject=unsubscribe