Wireshark-bugs: [Wireshark-bugs] [Bug 8905] New: patch: (SCSI OSD) per-attribute subtree
Date: Sun, 07 Jul 2013 23:47:16 +0000
Bug ID 8905
Summary patch: (SCSI OSD) per-attribute subtree
Classification Unclassified
Product Wireshark
Version SVN
Hardware All
OS All
Status UNCONFIRMED
Severity Enhancement
Priority Low
Component Dissection engine (libwireshark)
Assignee bugzilla-admin@wireshark.org
Reporter uce@rjgodoy.com.ar

Build Information:
Build Information:
Version 1.10.0 (SVN Rev 49790 from /trunk-1.10)
iSCSI/SCSI dissectors and expert.c from revision 50441
Patch from bug 8803 (optional, if that patch is not applied reassembling should
be disabled)
--
The response of the OSD-2 LIST command may contain attributes in multi-object
retrieved attributes format. Currently all proto_items for that attributes are
put under the SCSI Payload tree, yielding a large list of items:

    Partition Id
    Object Type
    Attribute Page
    Attribute Number
    Attribute Length
    (optional attribute-specific fields)
    Attribute Page, ...
    Partition Id
    Object Type
    Attribute Page, ...
    ...

This patch classifies the OSD-2 LIST attributes (from the Data In buffer) in
one tree per object and one sub-tree per attribute    
    Partition Id (ett_osd_multi_object tree)
        Object Type
        Attribute (ett_osd_attribute tree)
            Attribute Page 
            Attribute Number
            Attribute Length
            (optional attribute-specific fields)
        Attribute, ...
    Partition Id
        Object Type
        Attribute Page, ...
    ...

The same approach is applied to attributes in the Get/Set attributes segments.


A function *attribute_page_numbers_t lookup_osd_attribute(page,number) was
created, with common code that is called from dissect_osd_attributes_list,
dissect_osd_attribute_value and dissect_osd2_attribute_list_entry.

The trees are built in function dissect_osd_attribute_list_entry. That function
was modified for avoiding code duplication with case 0x09 of
dissect_osd_attributes_list. A missing padding was added in the process.

The function dissect_osd_partition_id now returns proto_item*, so that we can
create a subtree rooted at the partition_id (previously it returned an offset,
but the return value was unused).

Sample captures:
 OSD-1: scsi-osd-example-001 in http://wiki.wireshark.org/SampleCaptures (see
frames 77, 278)
 OSD-2: attached (get attributes segment/LIST response; experimental OSD-2
target)


You are receiving this mail because:
  • You are watching all bug changes.