aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-scsi.c
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronniesahlberg@gmail.com>2015-09-11 05:54:41 -0700
committerronnie sahlberg <ronniesahlberg@gmail.com>2015-09-11 14:10:41 +0000
commit5b3cdfbdfd3b2a82710014bab8be26b3035f8b69 (patch)
tree9f1ece5269f614e68e39ba4535359d5897f8624a /epan/dissectors/packet-scsi.c
parentfd342f7f739e9b13cbbb39804cf5e636883ea777 (diff)
SCSI: Update block limits VPD decode to SBC-4
SBC-4 Adds three new fields to the block limits VPD page related to the new opcode WITE_ATOMIC_16 that we need to decode: Max atomic transfer length Atomic Alignment Atomic Transfer Length Granularity Change-Id: Ia75793972535f3c8f524eaba037b3297743d1853 Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com> Reviewed-on: https://code.wireshark.org/review/10481 Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Diffstat (limited to 'epan/dissectors/packet-scsi.c')
-rw-r--r--epan/dissectors/packet-scsi.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/epan/dissectors/packet-scsi.c b/epan/dissectors/packet-scsi.c
index 64477d1500..1919e76ec9 100644
--- a/epan/dissectors/packet-scsi.c
+++ b/epan/dissectors/packet-scsi.c
@@ -354,6 +354,9 @@ static int hf_scsi_block_limits_oug = -1;
static int hf_scsi_block_limits_ugavalid = -1;
static int hf_scsi_block_limits_uga = -1;
static int hf_scsi_block_limits_mwsl = -1;
+static int hf_scsi_block_limits_matl = -1;
+static int hf_scsi_block_limits_aa = -1;
+static int hf_scsi_block_limits_atlg = -1;
static int hf_scsi_prevent_allow_flags = -1;
static int hf_scsi_prevent_allow_prevent = -1;
static int hf_scsi_mpi_service_action = -1;
@@ -2949,7 +2952,16 @@ dissect_scsi_evpd(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree,
offset += 4;
proto_tree_add_item(evpd_tree, hf_scsi_block_limits_mwsl, tvb, offset, 8, ENC_BIG_ENDIAN);
- /*offset += 8;*/
+ offset += 8;
+
+ proto_tree_add_item(evpd_tree, hf_scsi_block_limits_matl, tvb, offset, 4, ENC_BIG_ENDIAN);
+ offset += 4;
+
+ proto_tree_add_item(evpd_tree, hf_scsi_block_limits_aa, tvb, offset, 4, ENC_BIG_ENDIAN);
+ offset += 4;
+
+ proto_tree_add_item(evpd_tree, hf_scsi_block_limits_atlg, tvb, offset, 4, ENC_BIG_ENDIAN);
+ offset += 4;
break;
case SCSI_EVPD_LBP:
@@ -7135,6 +7147,15 @@ proto_register_scsi(void)
{ &hf_scsi_block_limits_mwsl,
{"Maximum Write Same Length", "scsi_sbc.bl.mwsl", FT_UINT64, BASE_DEC, NULL, 0,
NULL, HFILL}},
+ { &hf_scsi_block_limits_matl,
+ {"Maximum Atomic Transfer Length", "scsi_sbc.bl.matl", FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL}},
+ { &hf_scsi_block_limits_aa,
+ {"Atomic Alignment", "scsi_sbc.bl.aa", FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL}},
+ { &hf_scsi_block_limits_atlg,
+ {"Atomic Transfer Length Granularity", "scsi_sbc.bl.atlg", FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL}},
{ &hf_scsi_modepage_ps,
{"PS", "scsi.spc.modepage.ps", FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL}},