[PATCH 1/1] decode and display fattr4_fs_layout_types

Tigran Mkrtchyan tigran.mkrtchyan at desy.de
Mon Jun 23 04:14:19 EDT 2008


---
 epan/dissectors/packet-nfs.c |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/epan/dissectors/packet-nfs.c b/epan/dissectors/packet-nfs.c
index 75af83f..95e8861 100644
--- a/epan/dissectors/packet-nfs.c
+++ b/epan/dissectors/packet-nfs.c
@@ -6349,6 +6349,21 @@ dissect_nfs_fattr4_fh_expire_type(tvbuff_t *tvb, int offset, proto_tree *tree)
 	return offset;
 }
 
+static int
+dissect_nfs_fs_layout_type(tvbuff_t *tvb, proto_tree *tree, int offset)
+{
+	guint count, i;
+
+	count = tvb_get_ntohl(tvb, offset);
+	offset +=4;
+
+	for( i = 0; i < count; i++) {
+		offset += dissect_rpc_uint32(tvb, tree, hf_nfs_layouttype4, offset);
+	}
+
+	return offset;
+}
+
 static const value_string names_fattr4[] = {
 #define FATTR4_SUPPORTED_ATTRS     0
 	{	FATTR4_SUPPORTED_ATTRS,	"FATTR4_SUPPORTED_ATTRS"	},
@@ -6846,6 +6861,10 @@ dissect_nfs_attributes(tvbuff_t *tvb, int offset, packet_info *pinfo,
 						attr_vals_offset = dissect_rpc_uint64(tvb, attr_newftree, 
 							hf_nfs_fattr4_mounted_on_fileid, attr_vals_offset);
 						break;
+					case FATTR4_FS_LAYOUT_TYPE:
+						attr_vals_offset = dissect_nfs_fs_layout_type(tvb, attr_newftree,
+													attr_vals_offset);
+						break;
 					case FATTR4_LAYOUT_BLKSIZE:
 						attr_vals_offset = dissect_rpc_uint32(tvb, attr_newftree,
 							hf_nfs_fattr4_layout_blksize, attr_vals_offset);
-- 
1.5.4.5


--------------070602030104020904010402--


More information about the pNFS mailing list