imake fcp responses that do carry a scsi response code

call the scsi response dissector as well
(so that eventually we can do things like SRT for SCSI)


it doesnt work yet since fcp is using some incredibly broken logic to
track state between frames.

the cdata stuff can just not ever work exscept for single scan tethereal dissection.
is there noone at all looking at these protocols wioth ethereal?
has noone noticed it is completely broken yet?


sigh,    soon   i think i will be able to add the originally estimated trivial to implement   SCSI SRT



svn path=/trunk/; revision=17811
This commit is contained in:
Ronnie Sahlberg 2006-04-05 08:51:45 +00:00
parent 6fd403ee95
commit a9f636b41d
2 changed files with 8 additions and 5 deletions

View File

@ -697,6 +697,9 @@ dissect_fcp_rsp (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
/* scsi status code */
proto_tree_add_item(fcp_tree, hf_fcp_scsistatus, tvb, offset, 1, 0);
if(cdata){
dissect_scsi_rsp(tvb, pinfo, tree, (guint16) cdata->fcp_lun, tvb_get_guint8(tvb, offset));
}
offset++;
/* residual count */

View File

@ -6443,12 +6443,12 @@ dissect_scsi_rsp (tvbuff_t *tvb, packet_info *pinfo,
ti = proto_tree_add_protocol_format (tree, proto_scsi, tvb, 0,
0, "SCSI Response");
scsi_tree = proto_item_add_subtree (ti, ett_scsi);
ti=proto_tree_add_uint(scsi_tree, hf_scsi_lun, tvb, 0, 0, lun);
PROTO_ITEM_SET_GENERATED(ti);
ti=proto_tree_add_uint(scsi_tree, hf_scsi_status, tvb, 0, 0, scsi_status);
PROTO_ITEM_SET_GENERATED(ti);
}
ti=proto_tree_add_uint(scsi_tree, hf_scsi_lun, tvb, 0, 0, lun);
PROTO_ITEM_SET_GENERATED(ti);
ti=proto_tree_add_uint(scsi_tree, hf_scsi_status, tvb, 0, 0, scsi_status);
PROTO_ITEM_SET_GENERATED(ti);
if (check_col (pinfo->cinfo, COL_INFO)) {
col_add_fstr (pinfo->cinfo, COL_INFO, "SCSI: Response LUN: 0x%02x (%s)", lun, val_to_str(scsi_status, scsi_status_val, "Unknown (0x%08x)"));