Ethereal-dev: Re: [Ethereal-dev] patch to update iscsi support
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Bill Studenmund <wrstuden@xxxxxxxxxxxxxxxxx>
Date: Mon, 13 May 2002 17:28:22 -0700 (PDT)
On Mon, 13 May 2002, Mark Burton wrote: > I notice this patch removes support for dissecting the CRN field. I > would be happier if this was not applied because packet-iscsi.c needs > to support multiple versions of the iSCSI protocol through the magic > of conditional compilation. I am sure that a lot of people are still > using initiators/targets based on earlier versions of the protocol. Ok, how's this? I've not really tested DRAFT08 or DRAFT09 support, but it's a copy&paste change. :-) Take care, Bill
--- packet-iscsi.c.orig Wed Mar 20 17:41:13 2002
+++ packet-iscsi.c Mon May 13 17:16:50 2002
@@ -101,7 +101,9 @@
static int hf_iscsi_SCSICommand_R = -1;
static int hf_iscsi_SCSICommand_W = -1;
static int hf_iscsi_SCSICommand_Attr = -1;
+#if defined(DRAFT08) || defined(DRAFT09)
static int hf_iscsi_SCSICommand_CRN = -1;
+#endif
static int hf_iscsi_SCSICommand_AddCDB = -1;
static int hf_iscsi_DataSegmentLength = -1;
static int hf_iscsi_TotalAHSLength = -1;
@@ -123,6 +125,9 @@
static int hf_iscsi_SCSIResponse_Status = -1;
static int hf_iscsi_SenseLength = -1;
static int hf_iscsi_SCSIData_F = -1;
+#if !defined(DRAFT08) && !defined(DRAFT09)
+static int hf_iscsi_SCSIData_A = -1;
+#endif
static int hf_iscsi_SCSIData_S = -1;
static int hf_iscsi_SCSIData_O = -1;
static int hf_iscsi_SCSIData_U = -1;
@@ -244,6 +249,9 @@
#define ISCSI_SCSI_DATA_FLAG_S 0x01
#define ISCSI_SCSI_DATA_FLAG_U 0x02
#define ISCSI_SCSI_DATA_FLAG_O 0x04
+#if !defined(DRAFT08) && !defined(DRAFT09)
+#define ISCSI_SCSI_DATA_FLAG_A 0x40
+#endif
#define ISCSI_SCSI_DATA_FLAG_F 0x80
static const value_string iscsi_opcodes[] = {
@@ -293,6 +301,13 @@
"Not final PDU in sequence"
};
+#if !defined(DRAFT08) && !defined(DRAFT09)
+static const true_false_string iscsi_meaning_A = {
+ "Request positive data ACK",
+ "No data ACK request"
+};
+#endif
+
static const true_false_string iscsi_meaning_T = {
"Transit to next login stage",
"Stay in current login stage"
@@ -926,7 +941,9 @@
proto_tree_add_boolean(tt, hf_iscsi_SCSICommand_W, tvb, offset + 1, 1, b);
proto_tree_add_uint(tt, hf_iscsi_SCSICommand_Attr, tvb, offset + 1, 1, b);
}
+#if defined(DRAFT08) || defined(DRAFT09)
proto_tree_add_item(ti, hf_iscsi_SCSICommand_CRN, tvb, offset + 3, 1, FALSE);
+#endif
proto_tree_add_item(ti, hf_iscsi_TotalAHSLength, tvb, offset + 4, 1, FALSE);
proto_tree_add_uint(ti, hf_iscsi_DataSegmentLength, tvb, offset + 5, 3, data_segment_len);
proto_tree_add_item(ti, hf_iscsi_LUN, tvb, offset + 8, 8, FALSE);
@@ -1214,6 +1231,9 @@
proto_tree *tt = proto_item_add_subtree(tf, ett_iscsi_Flags);
proto_tree_add_boolean(tt, hf_iscsi_SCSIData_F, tvb, offset + 1, 1, b);
+#if !defined(DRAFT08) && !defined(DRAFT09)
+ proto_tree_add_boolean(tt, hf_iscsi_SCSIData_A, tvb, offset + 1, 1, b);
+#endif
proto_tree_add_boolean(tt, hf_iscsi_SCSIData_O, tvb, offset + 1, 1, b);
proto_tree_add_boolean(tt, hf_iscsi_SCSIData_U, tvb, offset + 1, 1, b);
proto_tree_add_boolean(tt, hf_iscsi_SCSIData_S, tvb, offset + 1, 1, b);
@@ -1663,11 +1683,13 @@
FT_UINT8, BASE_HEX, VALS(iscsi_scsicommand_taskattrs), 0x07,
"SCSI task attributes", HFILL }
},
+#if defined(DRAFT08) || defined(DRAFT09)
{ &hf_iscsi_SCSICommand_CRN,
{ "CRN", "iscsi.scsicommand.crn",
FT_UINT8, BASE_HEX, NULL, 0,
"SCSI command reference number", HFILL }
},
+#endif
{ &hf_iscsi_SCSICommand_AddCDB,
{ "AddCDB", "iscsi.scsicommand.addcdb",
FT_UINT8, BASE_HEX, NULL, 0,
@@ -1773,6 +1795,13 @@
FT_BOOLEAN, 8, TFS(&iscsi_meaning_F), ISCSI_SCSI_DATA_FLAG_F,
"Final PDU", HFILL }
},
+#if !defined(DRAFT08) && !defined(DRAFT09)
+ { &hf_iscsi_SCSIData_A,
+ { "A", "iscsi.scsidata.A",
+ FT_BOOLEAN, 8, TFS(&iscsi_meaning_A), ISCSI_SCSI_DATA_FLAG_A,
+ "Data Ack Req", HFILL }
+ },
+#endif
{ &hf_iscsi_SCSIData_S,
{ "S", "iscsi.scsidata.S",
FT_BOOLEAN, 8, TFS(&iscsi_meaning_S), ISCSI_SCSI_DATA_FLAG_S,
- References:
- Re: [Ethereal-dev] patch to update iscsi support
- From: Mark Burton
- Re: [Ethereal-dev] patch to update iscsi support
- Prev by Date: Re: [Ethereal-dev] Ethereal under CygWin works reasonably well.
- Next by Date: [Ethereal-dev] Re: Closing ethereal lists?
- Previous by thread: Re: [Ethereal-dev] patch to update iscsi support
- Next by thread: [Ethereal-dev] unused variables in packet-dcerpc-XXX.c
- Index(es):