[pnfs] wireshark

Benny Halevy bhalevy at panasas.com
Tue Jun 17 05:47:35 EDT 2008


On Jun. 16, 2008, 22:30 +0300, Tigran Mkrtchyan <tigran.mkrtchyan at desy.de> wrote:
> 
> J. Bruce Fields wrote:
>> On Mon, May 26, 2008 at 09:13:20AM +0200, Tigran Mkrtchyan wrote:
>>> >From 2bf22455c11532a60718d4d623dbdcdb3ed367b1 Mon Sep 17 00:00:00 2001
>>> From: Tigran Mkrtchyan <tigran.mkrtchyan at desy.de>
>>> Date: Sun, 25 May 2008 22:44:03 +0200
>>> Subject: [PATCH 11/12] display all file attribytes defined by v41
>>>  decode fattr4_layout_blksize
>>>
>> Just out of curiosity--when wireshark sees one of the attributes for
>> which we've made one of these defines, but haven't defined a dissector
>> for the contents of the attribute, what does wireshark display?
> 
> Hi Bruce,
> 
> 
> it will show attribute name ( i hope :) ).

Not really. The default case does nothing.
The attribute contents must be decoded in some way otherwise
attr_vals_offset gets out of sync.

Benny

> 
> 
> Tigran.
> 
> 
> 
>> --b.
>>
>>> ---
>>>  epan/dissectors/packet-nfs.c |   54 +++++++++++++++++++++++++++++++++++-------
>>>  1 files changed, 45 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/epan/dissectors/packet-nfs.c b/epan/dissectors/packet-nfs.c
>>> index fc2b296..291da56 100644
>>> --- a/epan/dissectors/packet-nfs.c
>>> +++ b/epan/dissectors/packet-nfs.c
>>> @@ -293,6 +293,7 @@ static int hf_nfs_fattr4_space_free = -1;
>>>  static int hf_nfs_fattr4_space_total = -1;
>>>  static int hf_nfs_fattr4_space_used = -1;
>>>  static int hf_nfs_fattr4_mounted_on_fileid = -1;
>>> +static int hf_nfs_fattr4_layout_blksize = -1;
>>>  static int hf_nfs_who = -1;
>>>  static int hf_nfs_server = -1;
>>>  static int hf_nfs_fslocation4 = -1;
>>> @@ -6451,16 +6452,44 @@ static const value_string names_fattr4[] = {
>>>  	{	FATTR4_DIR_NOTIF_DELAY, "FATTR4_DIR_NOTIF_DELAY"	},
>>>  #define FATTR4_DIRENT_NOTIF_DELAY   57
>>>  	{	FATTR4_DIRENT_NOTIF_DELAY, "FATTR4_DIRENT_NOTIF_DELAY"	},
>>> -#define FATTR4_SEND_IMPL_ID   58
>>> -	{	FATTR4_SEND_IMPL_ID, "FATTR4_SEND_IMPL_ID"	},
>>> -#define FATTR4_RECV_IMPL_ID  59
>>> -	{	FATTR4_RECV_IMPL_ID, "FATTR4_RECV_IMPL_ID"	},
>>> -#define FATTR4_ABSENT  60
>>> -	{	FATTR4_ABSENT, "FATTR4_ABSENT"	},
>>> +#define FATTR4_DACL   58
>>> +	{	FATTR4_DACL, "FATTR4_DACL"	},
>>> +#define FATTR4_SACL  59
>>> +	{	FATTR4_SACL, "FATTR4_SACL"	},
>>> +#define FATTR4_CHANGE_POLICY  60
>>> +	{	FATTR4_CHANGE_POLICY, "FATTR4_CHANGE_POLICY"	},
>>>  #define FATTR4_FS_STATUS  61
>>>  	{	FATTR4_FS_STATUS, "FATTR4_FS_STATUS"	},
>>> -#define FATTR4_FS_LAYOUT_TYPES   62
>>> -	{	FATTR4_MOUNTED_ON_FILEID, "FATTR4_FS_LAYOUT_TYPES"	},
>>> +#define FATTR4_FS_LAYOUT_TYPE   62
>>> +	{	FATTR4_FS_LAYOUT_TYPE, "FATTR4_FS_LAYOUT_TYPE"	},
>>> +#define FATTR4_LAYOUT_HINT		63
>>> +	{	FATTR4_LAYOUT_HINT, "FATTR4_LAYOUT_HINT" },
>>> +#define FATTR4_LAYOUT_TYPE		64
>>> +	{	FATTR4_LAYOUT_TYPE, "FATTR4_LAYOUT_TYPE" },
>>> +#define FATTR4_LAYOUT_BLKSIZE		65
>>> +	{	FATTR4_LAYOUT_BLKSIZE, "FATTR4_LAYOUT_BLKSIZE" },
>>> +#define FATTR4_LAYOUT_ALIGNMENT		66
>>> +	{	FATTR4_LAYOUT_ALIGNMENT, "FATTR4_LAYOUT_ALIGNMENT" },
>>> +#define FATTR4_FS_LOCATIONS_INFO	67
>>> +	{	FATTR4_FS_LOCATIONS_INFO, "FATTR4_FS_LOCATIONS_INFO" },
>>> +#define FATTR4_MDSTHRESHOLD		68
>>> +	{	FATTR4_MDSTHRESHOLD, "FATTR4_MDSTHRESHOLD" },
>>> +#define FATTR4_RETENTION_GET		69
>>> +	{	FATTR4_RETENTION_GET, "FATTR4_RETENTION_GET" },
>>> +#define FATTR4_RETENTION_SET		70
>>> +	{	FATTR4_RETENTION_SET, "FATTR4_RETENTION_SET" },
>>> +#define FATTR4_RETENTEVT_GET		71
>>> +	{	FATTR4_RETENTEVT_GET, "FATTR4_RETENTEVT_GET" },
>>> +#define FATTR4_RETENTEVT_SET		72
>>> +	{	FATTR4_RETENTEVT_SET, "FATTR4_RETENTEVT_SET" },
>>> +#define FATTR4_RETENTION_HOLD		73
>>> +	{	FATTR4_RETENTION_HOLD, "FATTR4_RETENTION_HOLD" },
>>> +#define FATTR4_MODE_SET_MASKED		74
>>> +	{	FATTR4_MODE_SET_MASKED, "FATTR4_MODE_SET_MASKED" },
>>> +#define FATTR4_SUPPATTR_EXCLCREAT	75
>>> +	{	FATTR4_SUPPATTR_EXCLCREAT, "FATTR4_SUPPATTR_EXCLCREAT" },
>>> +#define FATTR4_FS_CHARSET_CAP		76
>>> +	{	FATTR4_FS_CHARSET_CAP, "FATTR4_FS_CHARSET_CAP" },
>>>  	{	0,	NULL	}
>>>  };
>>>  
>>> @@ -6803,7 +6832,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_LAYOUT_BLKSIZE:
>>> +						attr_vals_offset = dissect_rpc_uint32(tvb, attr_newftree,
>>> +								hf_nfs_fattr4_layout_blksize, attr_vals_offset);
>>> +						break;
>>>  					default:
>>>  						break;
>>>  					}
>>> @@ -9851,6 +9883,10 @@ proto_register_nfs(void)
>>>  			"fileid", "nfs.fattr4.mounted_on_fileid", FT_UINT64, BASE_HEX,
>>>  			NULL, 0, NULL, HFILL }},
>>>  
>>> +		{ &hf_nfs_fattr4_layout_blksize, {
>>> +				"fileid", "nfs.fattr4.layout_blksize", FT_UINT32, BASE_DEC,
>>> +				NULL, 0, NULL, HFILL }},
>>> +
>>>  		{ &hf_nfs_verifier4, {
>>>  			"verifier", "nfs.verifier4", FT_UINT64, BASE_HEX,
>>>  			NULL, 0, NULL, HFILL }},
>>> -- 
>>> 1.5.5.1.211.g65ea3
> 



More information about the pNFS mailing list