-/* packet-lustre.c
- * Lustre 1.6 dissection (http://www.lustre.org/)
- * Author: Laurent George <george@ocre.cea.fr>
- * based on packet-agentx.c and packet-afs.c
- * partially generated by Pidl
- * 20080903
- * Wireshark - Network traffic analyzer
- * By Gerald Combs <gerald@wireshark.org>
- * Copyright 1999 Gerald Combs
- *
- * C-Syle: 2 space indents
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * Copyright (c) 2011, 2017, Intel Corporation.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-
-#include <glib.h>
-#include <string.h>
-#include <epan/packet.h>
-
-#include "wireshark-compat.h"
-
-#include <epan/dissectors/packet-windows-common.h>
-#include "lustre_dlm_flags.h"
-
-const true_false_string lnet_flags_set_truth = { "Set", "Unset" };
-
-/* --------------------------------------------------------------------------------------- */
-/* def and macro to know where we are the the lustre payload */
-#define LUSTRE_MAGIC_OFFSET 8
-#define LUSTRE_MSG_MAGIC_V1 0x0BD00BD0
-#define LUSTRE_MSG_MAGIC_V2 0x0BD00BD3
-
-#define LUSTRE_BUFCOUNT_OFF ((tvb_get_letohl(tvb, LUSTRE_MAGIC_OFFSET)== LUSTRE_MSG_MAGIC_V2) ? 0 : 60)
-#define LUSTRE_BUFCOUNT ((tvb_get_letohl(tvb, LUSTRE_MAGIC_OFFSET)== LUSTRE_MSG_MAGIC_V2) \
- ? (tvb_get_letohl(tvb, LUSTRE_BUFCOUNT_OFF)) : ((tvb_get_letohl(tvb, LUSTRE_BUFCOUNT_OFF))) )
-/* remark : BUFLENOFF don't have the same meaning if it's for v1 or v2
- * v1 : LUSTRE_BUFLEN_OFF = offset buflen[0] - 4 bytes.
- * v2 : LUSTRE_BUFLEN_OFF = offset buflen[0]
- */
-#define LUSTRE_BUFLEN_OFF ((tvb_get_letohl(tvb, LUSTRE_MAGIC_OFFSET)== LUSTRE_MSG_MAGIC_V2) ? 32 : 60)
-
-/* LUSTRE_BUFFER_LEN(buffnum) */
-#define LUSTRE_BUFFER_LEN(_n) (LUSTRE_BUFCOUNT <= (_n) ? 0 \
- : tvb_get_letohl(tvb, LUSTRE_BUFLEN_OFF+\
- sizeof(guint32)*(_n)))
-
-#define LUSTRE_REQ_REC_OFF 1 /* normal request record offset */
-#define LUSTRE_REPLY_REC_OFF 1 /* normal reply record offset */
-
-#define LUSTRE_DLM_INTENT_IT_OFF 2 /* intent lock it offset */
-#define LUSTRE_DLM_INTENT_REC_OFF 3 /* intent lock record offset */
-#define LUSTRE_DLM_LOCKREPLY_OFF 1 /* lockrep offset */
-#define LUSTRE_DLM_REPLY_REC_OFF 2 /* reply record offset */
-/* --------------------------------------------------------------------------------------- */
-
-
-#define LUSTRE_PTLRPC_MSG_VERSION 0x00000003
-#define LUSTRE_VERSION_MASK 0xffff0000
-#define LUSTRE_OBD_VERSION 0x00010000
-#define LUSTRE_MDS_VERSION 0x00020000
-#define LUSTRE_OST_VERSION 0x00030000
-#define LUSTRE_DLM_VERSION 0x00040000
-#define LUSTRE_LOG_VERSION 0x00050000
-#define LUSTRE_MGS_VERSION 0x00060000
-
-
-
-#define LOV_MAGIC_V1 0x0BD10BD0
-#define LOV_MAGIC_V3 0x0BD30BD0
-
-/* defined in lustre/include/lustre/lustre_user.h */
-#define LOV_MAXPOOLNAME 15
-
-/* defined in lustre/include/lustre/lustre_idl.h */
-typedef enum {
- CONNMGR_REQUEST_PORTAL = 1,
- CONNMGR_REPLY_PORTAL = 2,
- OSC_REQUEST_PORTAL = 3,
- OSC_REPLY_PORTAL = 4,
- OSC_BULK_PORTAL = 5,
- OST_IO_PORTAL = 6,
- OST_CREATE_PORTAL = 7,
- OST_BULK_PORTAL = 8,
- MDC_REQUEST_PORTAL = 9,
- MDC_REPLY_PORTAL = 10,
- MDC_BULK_PORTAL = 11,
- MDS_REQUEST_PORTAL = 12,
- MDS_REPLY_PORTAL = 13,
- MDS_BULK_PORTAL = 14,
- LDLM_CB_REQUEST_PORTAL = 15,
- LDLM_CB_REPLY_PORTAL = 16,
- LDLM_CANCEL_REQUEST_PORTAL = 17,
- LDLM_CANCEL_REPLY_PORTAL = 18,
- PTLBD_REQUEST_PORTAL = 19,
- PTLBD_REPLY_PORTAL = 20,
- PTLBD_BULK_PORTAL = 21,
- MDS_SETATTR_PORTAL = 22,
- MDS_READPAGE_PORTAL = 23,
- MDS_MDS_PORTAL = 24,
- MGC_REPLY_PORTAL = 25,
- MGS_REQUEST_PORTAL = 26,
- MGS_REPLY_PORTAL = 27,
- OST_REQUEST_PORTAL = 28,
- FLD_REQUEST_PORTAL = 29,
- SEQ_METADATA_PORTAL = 30,
- SEQ_DATA_PORTAL = 31,
- SEQ_CONTROLLER_PORTAL = 32,
- MGS_BULK_PORTAL = 33
-} portal_index_t;
-
-static const value_string portal_indices[] = {
- { CONNMGR_REQUEST_PORTAL, "CONNMGR_REQUEST_PORTAL"},
- { CONNMGR_REPLY_PORTAL , "CONNMGR_REPLY_PORTAL"},
- { OSC_REQUEST_PORTAL , "OSC_REQUEST_PORTAL(obsolete)"},
- { OSC_REPLY_PORTAL , "OSC_REPLY_PORTAL"},
- { OSC_BULK_PORTAL , "OSC_BULK_PORTAL(obsolete)"},
- { OST_IO_PORTAL , "OST_IO_PORTAL"},
- { OST_CREATE_PORTAL , "OST_CREATE_PORTAL"},
- { OST_BULK_PORTAL , "OST_BULK_PORTAL"},
- { MDC_REQUEST_PORTAL , "MDC_REQUEST_PORTAL(obsolete)"},
- { MDC_REPLY_PORTAL , "MDC_REPLY_PORTAL"},
- { MDC_BULK_PORTAL , "MDC_BULK_PORTAL(obsolete)"},
- { MDS_REQUEST_PORTAL , "MDS_REQUEST_PORTAL"},
- { MDS_REPLY_PORTAL , "MDS_REPLY_PORTAL(obsolete)"},
- { MDS_BULK_PORTAL , "MDS_BULK_PORTAL"},
- { LDLM_CB_REQUEST_PORTAL , "LDLM_CB_REQUEST_PORTAL"},
- { LDLM_CB_REPLY_PORTAL , "LDLM_CB_REPLY_PORTAL"},
- { LDLM_CANCEL_REQUEST_PORTAL , "LDLM_CANCEL_REQUEST_PORTAL"},
- { LDLM_CANCEL_REPLY_PORTAL , "LDLM_CANCEL_REPLY_PORTAL"},
- { PTLBD_REQUEST_PORTAL , "PTLBD_REQUEST_PORTAL(obsolete)"},
- { PTLBD_REPLY_PORTAL , "PTLBD_REPLY_PORTAL(obsolete)"},
- { PTLBD_BULK_PORTAL , "PTLBD_BULK_PORTAL(obsolete)"},
- { MDS_SETATTR_PORTAL , "MDS_SETATTR_PORTAL"},
- { MDS_READPAGE_PORTAL , "MDS_READPAGE_PORTAL"},
- { MDS_MDS_PORTAL, "MDS_MDS_PORTAL"},
- { MGC_REPLY_PORTAL , "MGC_REPLY_PORTAL"},
- { MGS_REQUEST_PORTAL , "MGS_REQUEST_PORTAL"},
- { MGS_REPLY_PORTAL , "MGS_REPLY_PORTAL"},
- { OST_REQUEST_PORTAL , "OST_REQUEST_PORTAL"},
- { FLD_REQUEST_PORTAL , "FLD_REQUEST_PORTAL"},
- { SEQ_METADATA_PORTAL, "SEQ_METADATA_PORTAL"},
- { SEQ_DATA_PORTAL, "SEQ_DATA_PORTAL"},
- { SEQ_CONTROLLER_PORTAL, "SEQ_CONTROLLER_PORTAL"},
- { MGS_BULK_PORTAL, "MGS_BULK_PORTAL"}
-};
-
-typedef enum {
- OST_REPLY = 0, /* reply ? */
- OST_GETATTR = 1,
- OST_SETATTR = 2,
- OST_READ = 3,
- OST_WRITE = 4,
- OST_CREATE = 5,
- OST_DESTROY = 6,
- OST_GET_INFO = 7,
- OST_CONNECT = 8,
- OST_DISCONNECT = 9,
- OST_PUNCH = 10,
- OST_OPEN = 11,
- OST_CLOSE = 12,
- OST_STATFS = 13,
- /* OST_SAN_READ = 14, deprecated */
- /* OST_SAN_WRITE = 15, deprecated */
- OST_SYNC = 16,
- OST_SET_INFO = 17,
- OST_QUOTACHECK = 18,
- OST_QUOTACTL = 19,
- OST_QUOTA_ADJUST_QUNIT = 20,
- OST_LADVISE = 21,
- OST_LAST_OPC
-} ost_cmd_t ;
-
-
-typedef enum {
- OBD_PING = 400,
- OBD_LOG_CANCEL,
- OBD_QC_CALLBACK,
- OBD_LAST_OPC
-} obd_cmd_t;
-#define OBD_FIRST_OPC OBD_PING
-
-/* must be coherent with same declaration
- * in lustre/include/lustre/lustre_idl.h
- */
-typedef enum {
- MDS_GETATTR = 33,
- MDS_GETATTR_NAME = 34,
- MDS_CLOSE = 35,
- MDS_REINT = 36,
- MDS_READPAGE = 37,
- MDS_CONNECT = 38,
- MDS_DISCONNECT = 39,
- MDS_GET_ROOT = 40,
- MDS_STATFS = 41,
- MDS_PIN = 42,
- MDS_UNPIN = 43,
- MDS_SYNC = 44,
- MDS_DONE_WRITING = 45,
- MDS_SET_INFO = 46,
- MDS_QUOTACHECK = 47,
- MDS_QUOTACTL = 48,
- MDS_GETXATTR = 49,
- MDS_SETXATTR = 50,
- MDS_WRITEPAGE = 51,
- MDS_IS_SUBDIR = 52,
- MDS_GET_INFO = 53,
- MDS_HSM_STATE_GET = 54,
- MDS_HSM_STATE_SET = 55,
- MDS_HSM_ACTION = 56,
- MDS_HSM_PROGRESS = 57,
- MDS_HSM_REQUEST = 58,
- MDS_HSM_CT_REGISTER = 59,
- MDS_HSM_CT_UNREGISTER = 60,
- MDS_SWAP_LAYOUTS = 61,
- MDS_LAST_OPC
-} mds_cmd_t;
-#define MDS_FIRST_OPC MDS_GETATTR
-
-enum {
- LAYOUT_INTENT_ACCESS = 0,
- LAYOUT_INTENT_READ = 1,
- LAYOUT_INTENT_WRITE = 2,
- LAYOUT_INTENT_GLIMPSE = 3,
- LAYOUT_INTENT_TRUNC = 4,
- LAYOUT_INTENT_RELEASE = 5,
- LAYOUT_INTENT_RESTORE = 6
-};
-
-static const value_string lustre_layout_intent_opc_values[] = {
- { LAYOUT_INTENT_ACCESS, "ACCESS"},
- { LAYOUT_INTENT_READ, "READ"},
- { LAYOUT_INTENT_WRITE, "WRITE"},
- { LAYOUT_INTENT_GLIMPSE, "GLIMPSE"},
- { LAYOUT_INTENT_TRUNC, "TRUNC"},
- { LAYOUT_INTENT_RELEASE, "RELEASE"},
- { LAYOUT_INTENT_RESTORE, "RESTORE"},
- { 0, NULL },
-};
-
-/* From lustre/include/obd.h */
-#define IT_OPEN 0x0001
-#define IT_CREAT 0x0002
-#define IT_READDIR 0x0004
-#define IT_GETATTR 0x0008
-#define IT_LOOKUP 0x0010
-#define IT_UNLINK 0x0020
-#define IT_TRUNC 0x0040
-#define IT_GETXATTR 0x0080
-#define IT_EXEC 0x0100
-#define IT_PIN 0x0200
-#define IT_LAYOUT 0x0400
-#define IT_QUOTA_DQACQ 0x0800
-#define IT_QUOTA_CONN 0x1000
-#define IT_SETXATTR 0x2000
-
-/* lustre/include/uapi/linux/lustre/lustre_idl.h */
-enum mds_reint_op {
- REINT_SETATTR = 1,
- REINT_CREATE = 2,
- REINT_LINK = 3,
- REINT_UNLINK = 4,
- REINT_RENAME = 5,
- REINT_OPEN = 6,
- REINT_SETXATTR = 7,
- REINT_RMENTRY = 8,
- REINT_MIGRATE = 9,
- REINT_MAX
-};
-
-enum ldlm_cmd {
- LDLM_ENQUEUE = 101,
- LDLM_CONVERT = 102,
- LDLM_CANCEL = 103,
- LDLM_BL_CALLBACK = 104,
- LDLM_CP_CALLBACK = 105,
- LDLM_GL_CALLBACK = 106,
- LDLM_SET_INFO = 107,
- LDLM_LAST_OPC
-};
-#define LDLM_FIRST_OPC LDLM_ENQUEUE
-
-enum seq_rpc_opc {
- SEQ_QUERY = 700,
- SEQ_LAST_OPC,
- SEQ_FIRST_OPC = SEQ_QUERY
-};
-
-enum fld_rpc_opc {
- FLD_QUERY = 900,
- FLD_LAST_OPC,
- FLD_FIRST_OPC = FLD_QUERY
-};
-
-#define LDLM_ENQUEUE (101)
-#define LDLM_CONVERT (102)
-#define LDLM_CANCEL (103)
-#define LDLM_BL_CALLBACK (104)
-#define LDLM_CP_CALLBACK (105)
-#define LDLM_GL_CALLBACK (106)
-#define LCK_MINMODE (0)
-#define LCK_EX (1)
-#define LCK_PW (2)
-#define LCK_PR (4)
-#define LCK_CW (8)
-#define LCK_CR (16)
-#define LCK_NL (32)
-#define LCK_GROUP (64)
-#define LDLM_PLAIN (10)
-#define LDLM_EXTENT (11)
-#define LDLM_FLOCK (12)
-#define LDLM_IBITS (13)
-//#define MGS_CONNECT (250)
-#define OBD_PING (400)
-
-/*
- * Opcodes for mountconf (mgs and mgc)
- */
-typedef enum {
- MGS_CONNECT = 250,
- MGS_DISCONNECT,
- MGS_EXCEPTION, /* node died, etc. */
- MGS_TARGET_REG, /* whenever target starts up */
- MGS_TARGET_DEL,
- MGS_SET_INFO,
- MGS_CONFIG_READ,
- MGS_LAST_OPC
-} mgs_cmd_t;
-#define MGS_FIRST_OPC MGS_CONNECT
-
-/* llog protocol */
-typedef enum {
- LLOG_ORIGIN_HANDLE_CREATE = 501,
- LLOG_ORIGIN_HANDLE_NEXT_BLOCK = 502,
- LLOG_ORIGIN_HANDLE_READ_HEADER = 503,
- LLOG_ORIGIN_HANDLE_WRITE_REC = 504,
- LLOG_ORIGIN_HANDLE_CLOSE = 505,
- LLOG_ORIGIN_CONNECT = 506,
- LLOG_CATINFO = 507, /* for lfs catinfo */
- LLOG_ORIGIN_HANDLE_PREV_BLOCK = 508,
- LLOG_ORIGIN_HANDLE_DESTROY = 509, /* for destroy llog object*/
- LLOG_LAST_OPC
-} llog_cmd_t;
-
-#define LLOG_FIRST_OPC LLOG_ORIGIN_HANDLE_CREATE
-/*flag for the LLOG*/
-#define LLOG_OP_MAGIC 0x10600000
-#define LLOG_OP_MASK 0xfff00000
-
-typedef enum {
- LLOG_PAD_MAGIC = LLOG_OP_MAGIC | 0x00000,
- OST_SZ_REC = LLOG_OP_MAGIC | 0x00f00,
- OST_RAID1_REC = LLOG_OP_MAGIC | 0x01000,
- MDS_UNLINK_REC = LLOG_OP_MAGIC | 0x10000 | (MDS_REINT << 8) | REINT_UNLINK,
- MDS_SETATTR_REC = LLOG_OP_MAGIC | 0x10000 | (MDS_REINT << 8) | REINT_SETATTR,
- OBD_CFG_REC = LLOG_OP_MAGIC | 0x20000,
- PTL_CFG_REC = LLOG_OP_MAGIC | 0x30000, /* obsolete */
- LLOG_GEN_REC = LLOG_OP_MAGIC | 0x40000,
- LLOG_JOIN_REC = LLOG_OP_MAGIC | 0x50000, /* obsolete */
- LLOG_HDR_MAGIC = LLOG_OP_MAGIC | 0x45539,
- LLOG_LOGID_MAGIC = LLOG_OP_MAGIC | 0x4553b,
-} llog_op_type;
-
-/* LLOG flag */
-/*defined in lustre/include/lustre/lustre_idl.h*/
-#define LLOG_F_ZAP_WHEN_EMPTY 0x1
-#define LLOG_F_IS_CAT 0x2
-#define LLOG_F_IS_PLAIN 0x4
-
-#define PTL_RPC_MSG_REQUEST 4711
-#define PTL_RPC_MSG_ERR 4712
-#define PTL_RPC_MSG_REPLY 4713
-
-/* Connect flags from lustre_idl.h */
-#define OBD_CONNECT_RDONLY 0x1ULL /*client has read-only access*/
-#define OBD_CONNECT_INDEX 0x2ULL /*connect specific LOV idx */
-#define OBD_CONNECT_MDS 0x4ULL /*connect from MDT to OST */
-#define OBD_CONNECT_GRANT 0x8ULL /*OSC gets grant at connect */
-#define OBD_CONNECT_SRVLOCK 0x10ULL /*server takes locks for cli */
-#define OBD_CONNECT_VERSION 0x20ULL /*Lustre versions in ocd */
-#define OBD_CONNECT_REQPORTAL 0x40ULL /*Separate non-IO req portal */
-#define OBD_CONNECT_ACL 0x80ULL /*access control lists */
-#define OBD_CONNECT_XATTR 0x100ULL /*client use extended attr */
-#define OBD_CONNECT_CROW 0x200ULL /*MDS+OST create obj on write*/
-#define OBD_CONNECT_TRUNCLOCK 0x400ULL /*locks on server for punch */
-#define OBD_CONNECT_TRANSNO 0x800ULL /*replay sends init transno */
-#define OBD_CONNECT_IBITS 0x1000ULL /*support for inodebits locks*/
-#define OBD_CONNECT_JOIN 0x2000ULL /*files can be concatenated.
- *We do not support JOIN FILE
- *anymore, reserve this flags
- *just for preventing such bit
- *to be reused.*/
-#define OBD_CONNECT_ATTRFID 0x4000ULL /*Server can GetAttr By Fid*/
-#define OBD_CONNECT_NODEVOH 0x8000ULL /*No open hndl on specl nodes*/
-#define OBD_CONNECT_RMT_CLIENT 0x10000ULL /*Remote client */
-#define OBD_CONNECT_RMT_CLIENT_FORCE 0x20000ULL /*Remote client by force */
-#define OBD_CONNECT_BRW_SIZE 0x40000ULL /*Max bytes per rpc */
-#define OBD_CONNECT_QUOTA64 0x80000ULL /*Not used since 2.4 */
-#define OBD_CONNECT_MDS_CAPA 0x100000ULL /*MDS capability */
-#define OBD_CONNECT_OSS_CAPA 0x200000ULL /*OSS capability */
-#define OBD_CONNECT_CANCELSET 0x400000ULL /*Early batched cancels. */
-#define OBD_CONNECT_SOM 0x800000ULL /*Size on MDS */
-#define OBD_CONNECT_AT 0x1000000ULL /*client uses AT */
-#define OBD_CONNECT_LRU_RESIZE 0x2000000ULL /*LRU resize feature. */
-#define OBD_CONNECT_MDS_MDS 0x4000000ULL /*MDS-MDS connection */
-#define OBD_CONNECT_REAL 0x8000000ULL /*real connection */
-#define OBD_CONNECT_CHANGE_QS 0x10000000ULL /*Not used since 2.4 */
-#define OBD_CONNECT_CKSUM 0x20000000ULL /*support several cksum algos*/
-#define OBD_CONNECT_FID 0x40000000ULL /*FID is supported by server */
-#define OBD_CONNECT_VBR 0x80000000ULL /*version based recovery */
-
-/* Ett declarations */
-static gint ett_lustre_llog_log_llh_flags = -1 ;
-static gint ett_lustre = -1;
-static gint ett_lustre_lustre_handle_cookie = -1;
-static gint ett_lustre_lustre_msg_v1 = -1;
-static gint ett_lustre_lustre_handle_v1 = -1;
-static gint ett_lustre_lustre_msg_v2 = -1;
-static gint ett_lustre_ptlrpc_body = -1;
-static gint ett_lustre_lustre_handle_v2 = -1;
-static gint ett_lustre_obd_connect_data = -1;
-static gint ett_lustre_lov_mds_md_v1 = -1;
-static gint ett_lustre_lov_mds_md_v3 = -1;
-static gint ett_lustre_lov_ost_data_v1 = -1;
-static gint ett_lustre_obd_statfs = -1;
-static gint ett_lustre_obd_ioobj = -1;
-static gint ett_lustre_niobuf_remote = -1;
-static gint ett_lustre_ost_lvb = -1;
-static gint ett_lustre_ll_fid = -1;
-static gint ett_lustre_mdt_body = -1;
-static gint ett_lustre_mdt_rec_setattr = -1;
-static gint ett_lustre_mdt_rec_create = -1;
-static gint ett_lustre_mdt_rec_link = -1;
-static gint ett_lustre_mdt_rec_unlink = -1;
-static gint ett_lustre_mdt_rec_rename = -1;
-static gint ett_lustre_mdt_rec_setxattr = -1;
-static gint ett_lustre_obd_quotactl = -1;
-static gint ett_lustre_obd_dqinfo = -1;
-static gint ett_lustre_obd_dqblk = -1;
-static gint ett_lustre_quota_adjust_qunit = -1;
-static gint ett_lustre_lov_desc = -1;
-static gint ett_lustre_obd_uuid = -1;
-static gint ett_lustre_ldlm_res_id = -1;
-static gint ett_lustre_ldlm_extent = -1;
-static gint ett_lustre_ldlm_inodebits = -1;
-static gint ett_lustre_ldlm_flock = -1;
-static gint ett_lustre_ldlm_intent_opc = -1;
-static gint ett_lustre_ldlm_resource_desc = -1;
-static gint ett_lustre_ldlm_lock_desc = -1;
-static gint ett_lustre_ldlm_request = -1;
-static gint ett_lustre_lustre_handle = -1;
-static gint ett_lustre_ldlm_reply = -1;
-static gint ett_lustre_mgs_send_param = -1;
-static gint ett_lustre_mgs_target_info = -1;
-static gint ett_lustre_mgs_config_body = -1;
-static gint ett_lustre_mgs_config_res = -1;
-static gint ett_lustre_cfg_marker = -1;
-static gint ett_lustre_llog_catid = -1;
-static gint ett_lustre_llog_rec_hdr = -1;
-static gint ett_lustre_llog_logid_rec = -1;
-static gint ett_lustre_llog_logid = -1;
-static gint ett_lustre_llog_rec_tail = -1;
-static gint ett_lustre_lov_mds_md = -1;
-static gint ett_lustre_llog_unlink_rec = -1;
-static gint ett_lustre_llog_setattr_rec = -1;
-static gint ett_lustre_llog_size_change_rec = -1;
-static gint ett_lustre_llog_gen_rec = -1;
-static gint ett_lustre_llog_log_hdr = -1;
-static gint ett_lustre_llog_cookie = -1;
-static gint ett_lustre_llogd_body = -1;
-static gint ett_lustre_llogd_conn_body = -1;
-static gint ett_lustre_llog_gen = -1;
-static gint ett_lustre_obdo = -1;
-static gint ett_lustre_ost_body = -1;
-static gint ett_lustre_qunit_data = -1;
-static gint ett_lustre_qunit_data_old2 = -1;
-static gint ett_lustre_qunit_data_old = -1;
-static gint ett_lustre_ldlm_lock_flags = -1 ;
-static gint ett_lustre_seq_range = -1;
-static gint ett_lustre_fld_range = -1;
-static gint ett_lustre_mdt_ioepoch = -1;
-static gint ett_lustre_capa = -1;
-static gint ett_lustre_close_data = -1;
-static gint ett_lustre_acl = -1;
-static gint ett_lustre_ladvise = -1;
-static gint ett_lustre_hsm_request = -1;
-static gint ett_lustre_hsm_user_item = -1;
-static gint ett_lustre_hsm_extent = -1;
-static gint ett_lustre_hsm_progress = -1;
-static gint ett_lustre_hsm_user_state = -1;
-static gint ett_lustre_quota_body = -1;
-static gint ett_lustre_lquota_id = -1;
-static gint ett_lustre_layout_intent = -1;
-static gint ett_lustre_xattrs = -1;
-static gint ett_lustre_ost_id = -1;
-
-/* -----------------------------------------------*/
-/* Header field declarations */
-static int hf_lustre_ptlrpc_body_pb = -1 ;
-static int hf_lustre_ost_body = -1 ;
-static int hf_lustre_obd_statfs = -1 ;
-static int hf_lustre_obd_quotactl = -1 ;
-static int hf_lustre_quota_adjust_qunit = -1 ;
-static int hf_lustre_extra_padding = -1 ;
-static int hf_lustre_ldlm_reply = -1 ;
-static int hf_lustre_ldlm_request = -1 ;
-static int hf_lustre_obd_uuid = -1 ;
-static int hf_lustre_obd_connect_data = -1 ;
-static int hf_lustre_ldlm_intent = -1;
-static int hf_lustre_obd_ioobj = -1 ;
-static int hf_lustre_niobuf_remote = -1 ;
-static int hf_lustre_ost_key = -1 ;
-static int hf_lustre_nio= -1 ;
-static int hf_lustre_ost_val= -1;
-static int hf_lustre_llogd_body = -1;
-static int hf_lustre_llogd_log_hdr= -1;
-static int hf_lustre_llog_logid_rec =-1 ;
-static int hf_lustre_llogd_chunk= -1;
-static int hf_lustre_llogd_keyword= -1;
-static int hf_lustre_llogd_client= -1;
-static int hf_lustre_llogd_name= -1;
-
-static int hf_lustre_mds_xattr_name = -1;
-static int hf_lustre_lov_mds_md_v1= -1;
-static int hf_lustre_llog_cookie= -1;
-static int hf_lustre_mds_md_data= -1;
-static int hf_lustre_mds_reint_opcode= -1;
-static int hf_lustre_mds_xattr_eadata = -1;
-static int hf_lustre_mds_xattr_eadata_str = -1;
-
-static int hf_lustre_reint_name= -1;
-static int hf_lustre_reint_old_name= -1;
-static int hf_lustre_reint_new_name= -1;
-
-static int hf_lustre_mgs_target_info = -1 ;
-static int hf_lustre_mgs_send_param = -1;
-
-static int hf_lustre_mgs_config_body = -1;
-static int hf_lustre_mgs_config_body_name = -1;
-static int hf_lustre_mgs_config_body_offset = -1;
-static int hf_lustre_mgs_config_body_type = -1;
-static int hf_lustre_mgs_config_body_reserved = -1;
-static int hf_lustre_mgs_config_body_bits = -1;
-static int hf_lustre_mgs_config_body_units = -1;
-
-static int hf_lustre_mgs_config_res = -1;
-static int hf_lustre_mgs_config_res_offset = -1;
-static int hf_lustre_mgs_config_res_size = -1;
-
-static int hf_lustre_ost_lvb = -1 ;
-
-#define hf_lustre_ldlm_ast_discard_data hf_lustre_ldlm_fl_ast_discard_data
-
-static int hf_lustre_mdt_body = -1 ;
-static int hf_lustre_mdt_body_fid1 = -1;
-static int hf_lustre_mdt_body_fid2 = -1;
-static int hf_lustre_mdt_body_handle = -1;
-static int hf_lustre_mdt_body_valid = -1;
-static int hf_lustre_mdt_body_size = -1;
-static int hf_lustre_mdt_body_mtime = -1;
-static int hf_lustre_mdt_body_atime = -1;
-static int hf_lustre_mdt_body_ctime = -1;
-static int hf_lustre_mdt_body_blocks = -1;
-static int hf_lustre_mdt_body_ioepoch = -1;
-static int hf_lustre_mdt_body_ino = -1;
-static int hf_lustre_mdt_body_fsuid = -1;
-static int hf_lustre_mdt_body_fsgid = -1;
-static int hf_lustre_mdt_body_capability = -1;
-static int hf_lustre_mdt_body_mode = -1;
-static int hf_lustre_mdt_body_uid = -1;
-static int hf_lustre_mdt_body_gid = -1;
-static int hf_lustre_mdt_body_flags = -1;
-static int hf_lustre_mdt_body_rdev = -1;
-static int hf_lustre_mdt_body_nlink = -1;
-static int hf_lustre_mdt_body_generation = -1;
-static int hf_lustre_mdt_body_suppgid = -1;
-static int hf_lustre_mdt_body_eadatasize = -1;
-static int hf_lustre_mdt_body_aclsize = -1;
-static int hf_lustre_mdt_body_max_mdsize = -1;
-static int hf_lustre_mdt_body_max_cookiesize = -1;
-static int hf_lustre_mdt_body_uid_h = -1;
-static int hf_lustre_mdt_body_gid_h = -1;
-static int hf_lustre_mdt_body_padding_5 = -1;
-static int hf_lustre_mdt_body_padding_6 = -1;
-static int hf_lustre_mdt_body_padding_7 = -1;
-static int hf_lustre_mdt_body_padding_8 = -1;
-static int hf_lustre_mdt_body_padding_9 = -1;
-static int hf_lustre_mdt_body_padding_10 = -1;
-
-static int hf_lustre_mdt_rec_setattr = -1 ;
-static int hf_lustre_mdt_rec_setattr_sa_opcode = -1;
-static int hf_lustre_mdt_rec_setattr_sa_cap = -1;
-static int hf_lustre_mdt_rec_setattr_sa_fsuid = -1;
-static int hf_lustre_mdt_rec_setattr_sa_fsuid_h = -1;
-static int hf_lustre_mdt_rec_setattr_sa_fsgid = -1;
-static int hf_lustre_mdt_rec_setattr_sa_fsgid_h = -1;
-static int hf_lustre_mdt_rec_setattr_sa_suppgid = -1;
-static int hf_lustre_mdt_rec_setattr_sa_suppgid_h = -1;
-static int hf_lustre_mdt_rec_setattr_sa_padding_1 = -1;
-static int hf_lustre_mdt_rec_setattr_sa_padding_1_h = -1;
-static int hf_lustre_mdt_rec_setattr_sa_fid = -1;
-static int hf_lustre_mdt_rec_setattr_sa_valid = -1;
-static int hf_lustre_mdt_rec_setattr_sa_uid = -1;
-static int hf_lustre_mdt_rec_setattr_sa_gid = -1;
-static int hf_lustre_mdt_rec_setattr_sa_size = -1;
-static int hf_lustre_mdt_rec_setattr_sa_blocks = -1;
-static int hf_lustre_mdt_rec_setattr_sa_mtime = -1;
-static int hf_lustre_mdt_rec_setattr_sa_atime = -1;
-static int hf_lustre_mdt_rec_setattr_sa_ctime = -1;
-static int hf_lustre_mdt_rec_setattr_sa_attr_flags = -1;
-static int hf_lustre_mdt_rec_setattr_sa_mode = -1;
-static int hf_lustre_mdt_rec_setattr_sa_padding_2 = -1;
-static int hf_lustre_mdt_rec_setattr_sa_projid = -1;
-static int hf_lustre_mdt_rec_setattr_sa_padding_4 = -1;
-static int hf_lustre_mdt_rec_setattr_sa_padding_5 = -1;
-
-static int hf_lustre_mdt_rec_create = -1 ;
-static int hf_lustre_mdt_rec_create_cr_opcode = -1;
-static int hf_lustre_mdt_rec_create_cr_cap = -1;
-static int hf_lustre_mdt_rec_create_cr_fsuid = -1;
-static int hf_lustre_mdt_rec_create_cr_fsuid_h = -1;
-static int hf_lustre_mdt_rec_create_cr_fsgid = -1;
-static int hf_lustre_mdt_rec_create_cr_fsgid_h = -1;
-static int hf_lustre_mdt_rec_create_cr_suppgid1 = -1;
-static int hf_lustre_mdt_rec_create_cr_suppgid1_h = -1;
-static int hf_lustre_mdt_rec_create_cr_suppgid2 = -1;
-static int hf_lustre_mdt_rec_create_cr_suppgid2_h = -1;
-static int hf_lustre_mdt_rec_create_cr_fid1 = -1;
-static int hf_lustre_mdt_rec_create_cr_fid2 = -1;
-static int hf_lustre_mdt_rec_create_cr_old_handle = -1;
-static int hf_lustre_mdt_rec_create_cr_time = -1;
-static int hf_lustre_mdt_rec_create_cr_rdev = -1;
-static int hf_lustre_mdt_rec_create_cr_ioepoch = -1;
-static int hf_lustre_mdt_rec_create_cr_padding_1 = -1;
-static int hf_lustre_mdt_rec_create_cr_mode = -1;
-static int hf_lustre_mdt_rec_create_cr_bias = -1;
-static int hf_lustre_mdt_rec_create_cr_flags_l = -1;
-static int hf_lustre_mdt_rec_create_cr_flags_h = -1;
-static int hf_lustre_mdt_rec_create_cr_umask = -1;
-static int hf_lustre_mdt_rec_create_cr_padding_4 = -1;
-
-static int hf_lustre_mdt_rec_link = -1 ;
-static int hf_lustre_mdt_rec_link_lk_opcode = -1;
-static int hf_lustre_mdt_rec_link_lk_cap = -1;
-static int hf_lustre_mdt_rec_link_lk_fsuid = -1;
-static int hf_lustre_mdt_rec_link_lk_fsuid_h = -1;
-static int hf_lustre_mdt_rec_link_lk_fsgid = -1;
-static int hf_lustre_mdt_rec_link_lk_fsgid_h = -1;
-static int hf_lustre_mdt_rec_link_lk_suppgid1 = -1;
-static int hf_lustre_mdt_rec_link_lk_suppgid1_h = -1;
-static int hf_lustre_mdt_rec_link_lk_suppgid2 = -1;
-static int hf_lustre_mdt_rec_link_lk_suppgid2_h = -1;
-static int hf_lustre_mdt_rec_link_lk_fid1 = -1;
-static int hf_lustre_mdt_rec_link_lk_fid2 = -1;
-static int hf_lustre_mdt_rec_link_lk_time = -1;
-static int hf_lustre_mdt_rec_link_lk_padding_1 = -1;
-static int hf_lustre_mdt_rec_link_lk_padding_2 = -1;
-static int hf_lustre_mdt_rec_link_lk_padding_3 = -1;
-static int hf_lustre_mdt_rec_link_lk_padding_4 = -1;
-static int hf_lustre_mdt_rec_link_lk_bias = -1;
-static int hf_lustre_mdt_rec_link_lk_padding_5 = -1;
-static int hf_lustre_mdt_rec_link_lk_padding_6 = -1;
-static int hf_lustre_mdt_rec_link_lk_padding_7 = -1;
-static int hf_lustre_mdt_rec_link_lk_padding_8 = -1;
-static int hf_lustre_mdt_rec_link_lk_padding_9 = -1;
-
-static int hf_lustre_mdt_rec_unlink = -1 ;
-static int hf_lustre_mdt_rec_unlink_ul_opcode = -1;
-static int hf_lustre_mdt_rec_unlink_ul_cap = -1;
-static int hf_lustre_mdt_rec_unlink_ul_fsuid = -1;
-static int hf_lustre_mdt_rec_unlink_ul_fsuid_h = -1;
-static int hf_lustre_mdt_rec_unlink_ul_fsgid = -1;
-static int hf_lustre_mdt_rec_unlink_ul_fsgid_h = -1;
-static int hf_lustre_mdt_rec_unlink_ul_suppgid1 = -1;
-static int hf_lustre_mdt_rec_unlink_ul_suppgid1_h = -1;
-static int hf_lustre_mdt_rec_unlink_ul_suppgid2 = -1;
-static int hf_lustre_mdt_rec_unlink_ul_suppgid2_h = -1;
-static int hf_lustre_mdt_rec_unlink_ul_fid1 = -1;
-static int hf_lustre_mdt_rec_unlink_ul_fid2 = -1;
-static int hf_lustre_mdt_rec_unlink_ul_time = -1;
-static int hf_lustre_mdt_rec_unlink_ul_padding_2 = -1;
-static int hf_lustre_mdt_rec_unlink_ul_padding_3 = -1;
-static int hf_lustre_mdt_rec_unlink_ul_padding_4 = -1;
-static int hf_lustre_mdt_rec_unlink_ul_padding_5 = -1;
-static int hf_lustre_mdt_rec_unlink_ul_bias = -1;
-static int hf_lustre_mdt_rec_unlink_ul_mode = -1;
-static int hf_lustre_mdt_rec_unlink_ul_padding_6 = -1;
-static int hf_lustre_mdt_rec_unlink_ul_padding_7 = -1;
-static int hf_lustre_mdt_rec_unlink_ul_padding_8 = -1;
-static int hf_lustre_mdt_rec_unlink_ul_padding_9 = -1;
-
-static int hf_lustre_mdt_rec_rename = -1 ;
-static int hf_lustre_mdt_rec_rename_rn_opcode = -1;
-static int hf_lustre_mdt_rec_rename_rn_cap = -1;
-static int hf_lustre_mdt_rec_rename_rn_fsuid = -1;
-static int hf_lustre_mdt_rec_rename_rn_fsuid_h = -1;
-static int hf_lustre_mdt_rec_rename_rn_fsgid = -1;
-static int hf_lustre_mdt_rec_rename_rn_fsgid_h = -1;
-static int hf_lustre_mdt_rec_rename_rn_suppgid1 = -1;
-static int hf_lustre_mdt_rec_rename_rn_suppgid1_h = -1;
-static int hf_lustre_mdt_rec_rename_rn_suppgid2 = -1;
-static int hf_lustre_mdt_rec_rename_rn_suppgid2_h = -1;
-static int hf_lustre_mdt_rec_rename_rn_fid1 = -1;
-static int hf_lustre_mdt_rec_rename_rn_fid2 = -1;
-static int hf_lustre_mdt_rec_rename_rn_time = -1;
-static int hf_lustre_mdt_rec_rename_rn_padding_1 = -1;
-static int hf_lustre_mdt_rec_rename_rn_padding_2 = -1;
-static int hf_lustre_mdt_rec_rename_rn_padding_3 = -1;
-static int hf_lustre_mdt_rec_rename_rn_padding_4 = -1;
-static int hf_lustre_mdt_rec_rename_rn_bias = -1;
-static int hf_lustre_mdt_rec_rename_rn_mode = -1;
-static int hf_lustre_mdt_rec_rename_rn_padding_5 = -1;
-static int hf_lustre_mdt_rec_rename_rn_padding_6 = -1;
-static int hf_lustre_mdt_rec_rename_rn_padding_7 = -1;
-static int hf_lustre_mdt_rec_rename_rn_padding_8 = -1;
-
-static int hf_lustre_mdt_rec_setxattr = -1 ;
-static int hf_lustre_mdt_rec_setxattr_sx_opcode = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_cap = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_fsuid = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_fsuid_h = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_fsgid = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_fsgid_h = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_suppgid1 = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_suppgid1_h = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_suppgid2 = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_suppgid2_h = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_fid = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_padding_1 = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_padding_2 = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_padding_3 = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_valid = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_time = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_padding_5 = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_padding_6 = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_padding_7 = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_size = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_flags = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_padding_8 = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_padding_9 = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_padding_10 = -1;
-static int hf_lustre_mdt_rec_setxattr_sx_padding_11 = -1;
-
-static int hf_lustre_mdt_getinfo_key = -1;
-static int hf_lustre_mdt_getinfo_vallen = -1;
-static int hf_lustre_mdt_getinfo_data = -1;
-
-static int hf_lustre_close_data = -1;
-static int hf_lustre_close_fid = -1;
-static int hf_lustre_close_data_ver = -1;
-static int hf_lustre_close_reserved = -1;
-
-static int hf_lustre_seq_opc = -1;
-static int hf_lustre_seq_range = -1;
-static int hf_lustre_seq_range_start = -1;
-static int hf_lustre_seq_range_end = -1;
-static int hf_lustre_seq_range_index = -1;
-static int hf_lustre_seq_range_flags = -1;
-
-static int hf_lustre_fld_opc = -1;
-static int hf_lustre_fld_range = -1;
-static int hf_lustre_fld_range_start = -1;
-static int hf_lustre_fld_range_end = -1;
-static int hf_lustre_fld_range_index = -1;
-static int hf_lustre_fld_range_flags = -1;
-
-static int hf_lustre_mdt_ioepoch = -1;
-static int hf_lustre_mdt_ioepoch_handle = -1;
-static int hf_lustre_mdt_ioepoch_ioepoch = -1;
-static int hf_lustre_mdt_ioepoch_flags = -1;
-static int hf_lustre_mdt_ioepoch_padding = -1;
-
-static int hf_lustre_capa = -1;
-static int hf_lustre_capa_fid = -1;
-static int hf_lustre_capa_opc = -1;
-static int hf_lustre_capa_uid = -1;
-static int hf_lustre_capa_gid = -1;
-static int hf_lustre_capa_flags = -1;
-static int hf_lustre_capa_keyid = -1;
-static int hf_lustre_capa_timeout = -1;
-static int hf_lustre_capa_expiry = -1;
-static int hf_lustre_capa_hmac = -1;
-
-static int hf_lustre_acl = -1;
-
-static int hf_lustre_ost_lvb_lvb_size = -1;
-static int hf_lustre_ost_lvb_lvb_mtime = -1;
-static int hf_lustre_ost_lvb_lvb_atime = -1;
-static int hf_lustre_ost_lvb_lvb_ctime = -1;
-static int hf_lustre_ost_lvb_lvb_blocks = -1;
-static int hf_lustre_ost_lvb_lvb_mtime_ns = -1;
-static int hf_lustre_ost_lvb_lvb_atime_ns = -1;
-static int hf_lustre_ost_lvb_lvb_ctime_ns = -1;
-static int hf_lustre_ost_lvb_lvb_padding = -1;
-
-static int hf_lustre_xattrs = -1;
-static int hf_lustre_xattrs_name = -1;
-static int hf_lustre_xattrs_data = -1;
-static int hf_lustre_xattrs_size = -1;
-
-static int hf_lustre_lustre_handle_cookie = -1;
-static int hf_lustre_ptlrpc_body_pb_last_committed = -1;
-static int hf_lustre_ptlrpc_body_pb_version = -1;
-static int hf_lustre_lustre_msg_v1_lm_bufcount = -1;
-static int hf_lustre_obd_ioobj_ioo_id = -1;
-static int hf_lustre_ptlrpc_body_pb_slv = -1;
-static int hf_lustre_ptlrpc_body_pb_pre_version = -1;
-static int hf_lustre_ptlrpc_body_pb_padding = -1;
-static int hf_lustre_ptlrpc_body_pb_jobid = -1;
-static int hf_lustre_lustre_msg_v1_lm_handle = -1;
-static int hf_lustre_ptlrpc_body_pb_timeout = -1;
-static int hf_lustre_obd_statfs_os_bavail = -1;
-static int hf_lustre_obd_statfs_os_bsize = -1;
-static int hf_lustre_lustre_msg_v2_lm_repsize = -1;
-static int hf_lustre_lustre_msg_v1_lm_last_xid = -1;
-static int hf_lustre_ll_fid_f_type = -1;
-static int hf_lustre_lustre_msg_v2_lm_cksum = -1;
-static int hf_lustre_lustre_msg_v2_lm_buflens = -1;
-static int hf_lustre_lustre_msg_v1_lm_status = -1;
-static int hf_lustre_lustre_msg_v1_lm_type = -1;
-static int hf_lustre_niobuf_remote_len = -1;
-static int hf_lustre_ptlrpc_body_pb_op_flags = -1;
-static int hf_lustre_ptlrpc_body_pb_type = -1;
-static int hf_lustre_obd_connect_data_ocd_nllg = -1;
-static int hf_lustre_obd_connect_data_ocd_nllu = -1;
-static int hf_lustre_ll_fid_generation = -1;
-static int hf_lustre_obd_connect_data_ocd_ibits_known = -1;
-static int hf_lustre_lustre_msg_v2_lm_padding_3 = -1;
-static int hf_lustre_ptlrpc_body_pb_flags = -1;
-static int hf_lustre_obd_statfs_os_spare4 = -1;
-static int hf_lustre_obd_connect_data_ocd_group = -1;
-static int hf_lustre_lov_ost_data_v1_l_object_seq = -1;
-static int hf_lustre_obd_connect_data_ocd_brw_size = -1;
-static int hf_lustre_ptlrpc_body_pb_limit = -1;
-static int hf_lustre_obd_statfs_os_maxbytes = -1;
-static int hf_lustre_obd_statfs_os_spare5 = -1;
-static int hf_lustre_lustre_msg_v2_lm_flags = -1;
-static int hf_lustre_obd_statfs_os_ffree = -1;
-static int hf_lustre_obd_statfs_os_files = -1;
-static int hf_lustre_lustre_msg_v1_lm_flags = -1;
-static int hf_lustre_lustre_msg_v1_lm_last_committed = -1;
-static int hf_lustre_obd_statfs_os_spare9 = -1;
-static int hf_lustre_obd_connect_data_ocd_index = -1;
-static int hf_lustre_opnum = -1;
-static int hf_lustre_lustre_msg_v1_lm_buflens = -1;
-static int hf_lustre_obd_statfs_os_spare1 = -1;
-static int hf_lustre_obd_statfs_os_spare8 = -1;
-static int hf_lustre_lustre_msg_v1_lm_conn_cnt = -1;
-static int hf_lustre_ptlrpc_body_pb_transno = -1;
-static int hf_lustre_ptlrpc_body_pb_service_time = -1;
-static int hf_lustre_ptlrpc_body_pb_conn_cnt = -1;
-static int hf_lustre_ptlrpc_body_pb_opc = -1;
-static int hf_lustre_obd_connect_data_ocd_connect_flags = -1;
-static int hf_lustre_lov_ost_data_v1_l_object_id = -1;
-static int hf_lustre_lov_ost_data_v1_l_ost_gen = -1;
-static int hf_lustre_obd_statfs_os_bfree = -1;
-static int hf_lustre_obd_connect_data_ocd_version = -1;
-static int hf_lustre_obd_statfs_os_namelen = -1;
-static int hf_lustre_obd_statfs_os_blocks = -1;
-static int hf_lustre_lustre_msg_v2_lm_secflvr = -1;
-static int hf_lustre_lustre_msg_v1_lm_transno = -1;
-static int hf_lustre_lustre_msg_v1_lm_opc = -1;
-static int hf_lustre_obd_connect_data_ocd_grant = -1;
-static int hf_lustre_obd_ioobj_ioo_bufcnt = -1;
-static int hf_lustre_lustre_msg_v1_lm_version = -1;
-static int hf_lustre_obd_statfs_os_spare7 = -1;
-static int hf_lustre_obd_statfs_os_fsid = -1;
-static int hf_lustre_obd_connect_data_ocd_cksum_types = -1;
-static int hf_lustre_obd_connect_data_ocd_max_easize = -1;
-static int hf_lustre_obd_connect_data_ocd_instance = -1;
-static int hf_lustre_obd_connect_data_ocd_maxbytes = -1;
-static int hf_lustre_obd_connect_data_ocd_maxmodrpcs = -1;
-static int hf_lustre_obd_statfs_os_type = -1;
-static int hf_lustre_obd_statfs_os_spare6 = -1;
-static int hf_lustre_obd_statfs_os_state = -1;
-static int hf_lustre_obd_statfs_os_spare3 = -1;
-static int hf_lustre_lustre_msg_v2_lm_magic = -1;
-static int hf_lustre_ptlrpc_body_pb_last_seen = -1;
-static int hf_lustre_obd_ioobj_ioo_max_brw = -1;
-static int hf_lustre_ptlrpc_body_pb_last_xid = -1;
-static int hf_lustre_ptlrpc_body_pb_status = -1;
-static int hf_lustre_niobuf_remote_flags = -1;
-static int hf_lustre_ll_fid_id = -1;
-static int hf_lustre_lustre_msg_v2_lm_padding_2 = -1;
-static int hf_lustre_lov_ost_data_v1_l_ost_idx = -1;
-static int hf_lustre_obd_ioobj_ioo_seq = -1;
-static int hf_lustre_niobuf_remote_offset=-1;
-static int hf_lustre_obd_statfs_os_spare2 = -1;
-static int hf_lustre_lustre_msg_v2_lm_bufcount = -1;
-static int hf_lustre_ptlrpc_body_pb_handle = -1;
-static int hf_lustre_obd_connect_data_ocd_transno = -1;
-static int hf_lustre_lustre_msg_v1_lm_magic = -1;
-static int hf_lustre_llog_unlink_rec_lur_tail = -1;
-static int hf_lustre_llog_size_change_rec_lsc_io_epoch = -1;
-static int hf_lustre_mgs_target_info_mti_flags = -1;
-static int hf_lustre_ldlm_reply_lock_policy_res1 = -1;
-static int hf_lustre_llogd_body_lgd_len = -1;
-static int hf_lustre_qunit_data_old_qd_id = -1;
-static int hf_lustre_llog_logid_rec_padding1 = -1;
-static int hf_lustre_quota_adjust_qunit_padding1 = -1;
-static int hf_lustre_llog_size_change_rec_lsc_fid = -1;
-static int hf_lustre_llog_rec_hdr_padding = -1;
-static int hf_lustre_obdo_o_nlink = -1;
-static int hf_lustre_ldlm_extent_gid = -1;
-static int hf_lustre_obdo_o_uid = -1;
-static int hf_lustre_obdo_o_valid = -1;
-static int hf_lustre_ldlm_reply_lock_flags = -1;
-static int hf_lustre_obdo_o_misc = -1;
-
-static int hf_lustre_ldlm_request_lock_handle = -1;
-static int hf_lustre_llog_logid_lgl_oid = -1;
-static int hf_lustre_ldlm_inodebits_bits = -1;
-static int hf_lustre_llog_log_hdr_llh_count = -1;
-static int hf_lustre_llog_gen_rec_lgr_tail = -1;
-static int hf_lustre_llog_catid_lci_padding3 = -1;
-static int hf_lustre_qunit_data_qd_qunit = -1;
-static int hf_lustre_llog_setattr_rec_padding = -1;
-static int hf_lustre_llog_cookie_lgc_lgl = -1;
-static int hf_lustre_obd_quotactl_qc_dqinfo = -1;
-static int hf_lustre_llog_log_hdr_llh_bitmap = -1;
-static int hf_lustre_obd_quotactl_qc_stat = -1;
-static int hf_lustre_qunit_data_old2_qd_id = -1;
-static int hf_lustre_llog_logid_rec_padding2 = -1;
-static int hf_lustre_llog_logid_rec_padding5 = -1;
-static int hf_lustre_ldlm_intent_opc = -1;
-static int hf_lustre_llog_rec_hdr_lrh_type = -1;
-static int hf_lustre_llog_rec_hdr_lrh_len = -1;
-static int hf_lustre_llog_setattr_rec_lsr_uid = -1;
-static int hf_lustre_lov_desc_ld_padding_1 = -1;
-static int hf_lustre_obdo_o_padding_4 = -1;
-static int hf_lustre_mgs_target_info_padding = -1;
-static int hf_lustre_obd_quotactl_qc_dqblk = -1;
-static int hf_lustre_llogd_conn_body_lgdc_gen = -1;
-static int hf_lustre_llog_log_hdr_llh_tail = -1;
-static int hf_lustre_obdo_o_size = -1;
-static int hf_lustre_ldlm_extent_start = -1;
-static int hf_lustre_llog_size_change_rec_lsc_hdr = -1;
-static int hf_lustre_llog_logid_lgl_oseq = -1;
-static int hf_lustre_llog_cookie_lgc_padding = -1;
-static int hf_lustre_qunit_data_old_qd_type = -1;
-static int hf_lustre_ldlm_flock_blocking_export = -1;
-static int hf_lustre_lov_desc_ld_pattern = -1;
-static int hf_lustre_qunit_data_qd_id = -1;
-static int hf_lustre_mgs_target_info_mti_fsname = -1;
-static int hf_lustre_ldlm_request_lock_flags = -1;
-static int hf_lustre_obdo_o_mode = -1;
-static int hf_lustre_mgs_target_info_mti_svname = -1;
-static int hf_lustre_llogd_body_lgd_logid = -1;
-static int hf_lustre_llog_log_hdr_llh_size = -1;
-static int hf_lustre_obdo_o_handle = -1;
-static int hf_lustre_obdo_o_atime = -1;
-static int hf_lustre_quota_adjust_qunit_qaq_id = -1;
-static int hf_lustre_ldlm_lock_desc_l_policy_data = -1;
-static int hf_lustre_obd_quotactl_qc_cmd = -1;
-static int hf_lustre_qunit_data_padding = -1;
-static int hf_lustre_quota_adjust_qunit_qaq_flags = -1;
-static int hf_lustre_ldlm_lock_desc_l_granted_mode = -1;
-static int hf_lustre_obdo_o_seq = -1;
-static int hf_lustre_obdo_o_gid = -1;
-static int hf_lustre_llog_catid_lci_logid = -1;
-static int hf_lustre_llog_rec_tail_lrt_index = -1;
-static int hf_lustre_lov_desc_ld_default_stripe_count = -1;
-static int hf_lustre_ldlm_resource_desc_lr_padding = -1;
-static int hf_lustre_cfg_marker_cm_vers = -1;
-static int hf_lustre_llog_unlink_rec_lur_hdr = -1;
-static int hf_lustre_llogd_body_lgd_index = -1;
-static int hf_lustre_cfg_marker_cm_tgtname = -1;
-static int hf_lustre_llog_setattr_rec_lsr_ogen = -1;
-static int hf_lustre_llog_logid_rec_lid_hdr = -1;
-static int hf_lustre_obdo_o_ioepoch = -1;
-static int hf_lustre_ost_body_oa = -1;
-static int hf_lustre_llog_logid_rec_padding3 = -1;
-static int hf_lustre_llog_log_hdr_llh_flags = -1;
-static int hf_lustre_llog_setattr_rec_lsr_oid = -1;
-static int hf_lustre_llog_size_change_rec_padding = -1;
-static int hf_lustre_mgs_target_info_mti_config_ver = -1;
-static int hf_lustre_cfg_marker_cm_createtime = -1;
-static int hf_lustre_qunit_data_old_qd_count = -1;
-static int hf_lustre_llog_catid_lci_padding1 = -1;
-static int hf_lustre_lov_desc_ld_active_tgt_count = -1;
-static int hf_lustre_obdo_o_lcookie = -1;
-static int hf_lustre_llog_gen_rec_lgr_gen = -1;
-static int hf_lustre_obdo_o_id = -1;
-static int hf_lustre_mgs_target_info_mti_uuid = -1;
-static int hf_lustre_llog_rec_hdr_lrh_index = -1;
-static int hf_lustre_llog_setattr_rec_lsr_hdr = -1;
-static int hf_lustre_mgs_target_info_mti_stripe_index = -1;
-static int hf_lustre_llog_gen_conn_cnt = -1;
-static int hf_lustre_obdo_o_padding_6 = -1;
-static int hf_lustre_llog_cookie_lgc_index = -1;
-static int hf_lustre_lov_desc_ld_uuid = -1;
-static int hf_lustre_ldlm_reply_lock_desc = -1;
-static int hf_lustre_lov_desc_ld_padding_0 = -1;
-static int hf_lustre_llog_unlink_rec_lur_ogen = -1;
-static int hf_lustre_cfg_marker_cm_flags = -1;
-static int hf_lustre_obdo_o_padding_3 = -1;
-static int hf_lustre_ldlm_request_lock_desc = -1;
-static int hf_lustre_obdo_o_flags = -1;
-static int hf_lustre_mgs_target_info_mti_params = -1;
-static int hf_lustre_llog_logid_lgl_ogen = -1;
-static int hf_lustre_cfg_marker_cm_comment = -1;
-static int hf_lustre_llog_unlink_rec_lur_oid = -1;
-static int hf_lustre_qunit_data_qd_count = -1;
-static int hf_lustre_obdo_o_mtime = -1;
-static int hf_lustre_obdo_o_blksize = -1;
-static int hf_lustre_ldlm_res_id_name = -1;
-static int hf_lustre_ldlm_reply_lock_handle = -1;
-static int hf_lustre_llogd_body_lgd_saved_index = -1;
-static int hf_lustre_qunit_data_old_qd_isblk = -1;
-static int hf_lustre_obdo_o_blocks = -1;
-static int hf_lustre_lov_desc_ld_padding_2 = -1;
-static int hf_lustre_llog_logid_rec_lid_tail = -1;
-static int hf_lustre_obdo_o_grant = -1;
-static int hf_lustre_obdo_o_uid_h = -1;
-static int hf_lustre_obdo_o_gid_h = -1;
-static int hf_lustre_quota_adjust_qunit_qaq_iunit_sz = -1;
-static int hf_lustre_llog_unlink_rec_padding = -1;
-static int hf_lustre_ldlm_lock_desc_l_req_mode = -1;
-static int hf_lustre_ldlm_extent_end = -1;
-static int hf_lustre_llog_gen_rec_lgr_hdr = -1;
-static int hf_lustre_llogd_body_lgd_llh_flags = -1;
-static int hf_lustre_llog_log_hdr_llh_cat_idx = -1;
-static int hf_lustre_llog_log_hdr_llh_bitmap_offset=-1;
-static int hf_lustre_ldlm_reply_lock_padding = -1;
-static int hf_lustre_obd_quotactl_qc_id = -1;
-static int hf_lustre_llog_logid_rec_padding4 = -1;
-static int hf_lustre_llog_setattr_rec_lsr_gid = -1;
-static int hf_lustre_obd_quotactl_qc_type = -1;
-static int hf_lustre_cfg_marker_padding = -1;
-static int hf_lustre_mgs_target_info_mti_nids = -1;
-static int hf_lustre_obdo_o_stripe_idx = -1;
-static int hf_lustre_llogd_conn_body_lgdc_logid = -1;
-static int hf_lustre_ldlm_flock_blocking_pid = -1;
-static int hf_lustre_lov_desc_ld_tgt_count = -1;
-static int hf_lustre_llogd_body_lgd_cur_offset=-1;
-static int hf_lustre_qunit_data_old2_qd_count = -1;
-static int hf_lustre_qunit_data_old2_qd_flags = -1;
-static int hf_lustre_ldlm_flock_start = -1;
-static int hf_lustre_quota_adjust_qunit_qaq_bunit_sz = -1;
-static int hf_lustre_ldlm_flock_pid = -1;
-static int hf_lustre_lov_desc_ld_default_stripe_size = -1;
-static int hf_lustre_llog_log_hdr_llh_tgtuuid = -1;
-static int hf_lustre_cfg_marker_cm_step = -1;
-static int hf_lustre_mgs_send_param_mgs_param = -1;
-static int hf_lustre_lov_desc_ld_default_stripe_offset=-1;
-static int hf_lustre_ldlm_resource_desc_lr_name = -1;
-static int hf_lustre_llog_rec_tail_lrt_len = -1;
-static int hf_lustre_llog_log_hdr_llh_timestamp = -1;
-static int hf_lustre_llog_catid_lci_padding2 = -1;
-static int hf_lustre_llogd_conn_body_lgdc_ctxt_idx = -1;
-static int hf_lustre_cfg_marker_cm_canceltime = -1;
-static int hf_lustre_mgs_target_info_mti_lustre_ver = -1;
-static int hf_lustre_obdo_o_parent_ver = -1;
-static int hf_lustre_qunit_data_qd_flags = -1;
-static int hf_lustre_llog_logid_rec_lid_id = -1;
-static int hf_lustre_obdo_o_parent_oid = -1;
-static int hf_lustre_llog_gen_mnt_cnt = -1;
-static int hf_lustre_llog_size_change_rec_lsc_tail = -1;
-static int hf_lustre_obdo_o_padding_5 = -1;
-static int hf_lustre_ldlm_lock_desc_l_resource = -1;
-static int hf_lustre_obdo_o_parent_seq = -1;
-static int hf_lustre_ldlm_request_lock_count = -1;
-static int hf_lustre_ldlm_flock_end = -1;
-static int hf_lustre_mgs_target_info_mti_nid_count = -1;
-static int hf_lustre_obdo_o_ctime = -1;
-static int hf_lustre_ldlm_reply_lock_policy_res2 = -1;
-static int hf_lustre_llogd_body_lgd_ctxt_idx = -1;
-static int hf_lustre_lov_desc_ld_qos_maxage = -1;
-static int hf_lustre_ldlm_resource_desc_lr_type = -1;
-static int hf_lustre_llog_setattr_rec_lsr_tail = -1;
-static int hf_lustre_llog_cookie_lgc_subsys = -1;
-static int hf_lustre_llog_log_hdr_llh_hdr = -1;
-static int hf_lustre_llog_log_hdr_llh_reserved = -1;
-
-/* Header field declarations for field from lustre_user.h*/
-static int hf_lustre_obd_dqinfo_dqi_valid = -1;
-static int hf_lustre_obd_dqblk_dqb_isoftlimit = -1;
-static int hf_lustre_obd_dqblk_dqb_bhardlimit = -1;
-static int hf_lustre_obd_dqblk_dqb_curspace = -1;
-static int hf_lustre_obd_dqblk_dqb_itime = -1;
-static int hf_lustre_obd_dqblk_dqb_valid = -1;
-static int hf_lustre_obd_dqinfo_dqi_igrace = -1;
-static int hf_lustre_obd_dqinfo_dqi_bgrace = -1;
-static int hf_lustre_obd_dqblk_padding = -1;
-static int hf_lustre_obd_dqblk_dqb_curinodes = -1;
-static int hf_lustre_obd_dqblk_dqb_bsoftlimit = -1;
-static int hf_lustre_obd_dqinfo_dqi_flags = -1;
-static int hf_lustre_obd_dqblk_dqb_btime = -1;
-static int hf_lustre_obd_dqblk_dqb_ihardlimit = -1;
-static int hf_lustre_ldlm_intent_opc_open = -1 ;
-static int hf_lustre_ldlm_intent_opc_creat = -1;
-static int hf_lustre_ldlm_intent_opc_readdir = -1;
-static int hf_lustre_ldlm_intent_opc_getattr = -1;
-static int hf_lustre_ldlm_intent_opc_lookup = -1;
-static int hf_lustre_ldlm_intent_opc_unlink = -1;
-static int hf_lustre_ldlm_intent_opc_trunc = -1;
-static int hf_lustre_ldlm_intent_opc_getxattr = -1;
-static int hf_lustre_ldlm_intent_opc_exec = -1;
-static int hf_lustre_ldlm_intent_opc_pin = -1;
-static int hf_lustre_ldlm_intent_opc_layout = -1;
-static int hf_lustre_ldlm_intent_opc_q_dqacq = -1;
-static int hf_lustre_ldlm_intent_opc_q_conn = -1;
-static int hf_lustre_ldlm_intent_opc_setxattr = -1;
-static int hf_lustre_llog_hdr_llh_flag_zap_when_empty = -1;
-static int hf_lustre_llog_hdr_llh_flag_is_cat = -1;
-static int hf_lustre_llog_hdr_llh_flag_is_play = -1;
-static int hf_lustre_lu_ladvise = -1;
-static int hf_lustre_lu_ladvise_lla_start = -1;
-static int hf_lustre_lu_ladvise_lla_end = -1;
-static int hf_lustre_lu_ladvise_lla_advice = -1;
-static int hf_lustre_lu_ladvise_lla_padding = -1;
-
-static int hf_lustre_ldlm_key = -1;
-static int hf_lustre_ldlm_value = -1;
-
-static int hf_lustre_hsm_request = -1;
-static int hf_lustre_hsm_req_action = -1;
-static int hf_lustre_hsm_req_archive_id = -1;
-static int hf_lustre_hsm_req_flags = -1;
-static int hf_lustre_hsm_req_itemcount = -1;
-static int hf_lustre_hsm_req_data_len = -1;
-
-static int hf_lustre_hsm_user_item = -1;
-static int hf_lustre_hsm_user_item_fid = -1;
-static int hf_lustre_hsm_user_item_extent = -1;
-
-static int hf_lustre_hsm_extent = -1;
-static int hf_lustre_hsm_extent_offset = -1;
-static int hf_lustre_hsm_extent_length = -1;
-
-static int hf_lustre_hsm_progress = -1;
-static int hf_lustre_hsm_prog_fid = -1;
-static int hf_lustre_hsm_prog_cookie = -1;
-static int hf_lustre_hsm_prog_extent = -1;
-static int hf_lustre_hsm_prog_flags = -1;
-static int hf_lustre_hsm_prog_errval = -1;
-static int hf_lustre_hsm_prog_data_ver = -1;
-
-static int hf_lustre_hsm_state_get = -1;
-static int hf_lustre_hsm_us_states = -1;
-static int hf_lustre_hsm_us_archive_id = -1;
-static int hf_lustre_hsm_us_in_prog_state = -1;
-static int hf_lustre_hsm_us_in_prog_action = -1;
-static int hf_lustre_hsm_us_in_prog_location = -1;
-static int hf_lustre_hsm_us_ext_info = -1;
-
-/* Quota Body */
-static int hf_lustre_qb = -1;
-static int hf_lustre_qb_fid = -1;
-static int hf_lustre_qb_id = -1;
-static int hf_lustre_qb_flags = -1;
-static int hf_lustre_qb_padding = -1;
-static int hf_lustre_qb_count = -1;
-static int hf_lustre_qb_usage = -1;
-static int hf_lustre_qb_slv_ver = -1;
-static int hf_lustre_qb_lockh = -1;
-static int hf_lustre_qb_glb_lockh = -1;
-
-static int hf_lustre_qid_fid = -1;
-static int hf_lustre_qid_uid = -1;
-static int hf_lustre_qid_gid = -1;
-
-/* Layout Intent */
-static int hf_lustre_layout_intent = -1;
-static int hf_lustre_layout_intent_opc = -1;
-static int hf_lustre_layout_intent_flags = -1;
-static int hf_lustre_layout_intent_start = -1;
-static int hf_lustre_layout_intent_end = -1;
-
-/* mds md v1 and v3 */
-static int hf_lustre_lov_mds_md_lmm_magic = -1;
-static int hf_lustre_lov_mds_md_lmm_pattern = -1;
-static int hf_lustre_lov_mds_md_lmm_object_id = -1; /* v1 only */
-static int hf_lustre_lov_mds_md_lmm_oi = -1; /* v3 only */
-static int hf_lustre_lov_mds_md_lmm_object_seq = -1; /* v1 only */
-static int hf_lustre_lov_mds_md_lmm_stripe_size = -1;
-static int hf_lustre_lov_mds_md_lmm_stripe_count = -1;
-static int hf_lustre_lov_mds_md_lmm_layout_gen = -1;
-static int hf_lustre_lov_mds_md_lmm_pool_name = -1; /* v3 only */
-static int hf_lustre_lov_mds_md_lmm_objects = -1;
-
-/* struct ost_id */
-static int hf_lustre_ost_id_oi_id = -1;
-static int hf_lustre_ost_id_oi_seq = -1;
-
-static int hf_lustre_generic_data = -1;
-/* --------------------------------------------------------------------*/
-
-
-/* proto declaration */
-static gint proto_lustre = -1;
-
-typedef int (dissect_func)(
- tvbuff_t *tvb, gint offset, packet_info *pinfo _U_, proto_tree *tree,
- int hfindex);
-
-static dissect_func dissect_uint64, dissect_uint32, dissect_uint16, dissect_uint8;
-
-#define WSHARK_HEAD
-#include "lustre_dlm_flags_wshark.c"
-#undef WSHARK_HEAD
-
-static int ldlm_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint64 intent_opc _U_) ;
-static int add_extra_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_) ;
-
-
-/* ======================================================================== */
-/*the value_string*/
-const value_string lustre_ldlm_opcode[] = {
- { IT_OPEN , "IT_OPEN "},
- { IT_CREAT , "IT_CREAT "},
- { IT_READDIR , "IT_READDIR "},
- { IT_GETATTR , "IT_GETATTR "},
- { IT_LOOKUP , "IT_LOOKUP "},
- { IT_UNLINK , "IT_UNLINK "},
- { IT_GETXATTR, "IT_GETXATTR"},
- { IT_EXEC , "IT_EXEC "},
- { IT_PIN , "IT_PIN "},
- { 0, NULL }
-};
-
-const value_string lustre_lov_magic[] = {
- { LOV_MAGIC_V1, "LOV_MAGIC_V1" },
- { LOV_MAGIC_V3, "LOV_MAGIC_V3" },
- {0, NULL}
-};
-
-const value_string lustre_llog_op_type[] = {
- {LLOG_PAD_MAGIC ,"LLOG_PAD_MAGIC "},
- {OST_SZ_REC ,"OST_SZ_REC "},
- {OST_RAID1_REC ,"OST_RAID1_REC "},
- {MDS_UNLINK_REC ,"MDS_UNLINK_REC "},
- {MDS_SETATTR_REC ,"MDS_SETATTR_REC "},
- {OBD_CFG_REC ,"OBD_CFG_REC "},
- {PTL_CFG_REC ,"PTL_CFG_REC "},
- {LLOG_GEN_REC ,"LLOG_GEN_REC "},
- {LLOG_JOIN_REC ,"LLOG_JOIN_REC "},
- {LLOG_HDR_MAGIC ,"LLOG_HDR_MAGIC "},
- {LLOG_LOGID_MAGIC ,"LLOG_LOGID_MAGIC"},
- { 0, NULL }
-};
-
-const value_string lustre_llog_hdr_llh_flags[]= {
- {LLOG_F_ZAP_WHEN_EMPTY , "LLOhdr_llh_G_F_ZAP_WHEN_EMPTY"},
- {LLOG_F_IS_CAT , "LLOhdr_llh_G_F_IS_CAT"},
- {LLOG_F_IS_PLAIN , "LLOG_F_IS_PLAIN"},
- { 0, NULL }
-};
-
-const value_string lustre_mds_flags_vals[] = {
- {0x00000008, "LUSTRE_SYNC_FL "}, /* Synchronous updates */
- {0x00000010, "LUSTRE_IMMUTABLE_FL "}, /* Immutable file */
- {0x00000020, "LUSTRE_APPEND_FL "}, /* writes to file may only append */
- {0x00000040, "LUSTRE_NODUMP_FL "}, /* do not dump file */
- {0x00000080, "LUSTRE_NOATIME_FL "}, /* do not update atime */
- {0x00001000, "LUSTRE_INDEX_FL "}, /* hash-indexed directory */
- {0x00010000, "LUSTRE_DIRSYNC_FL "}, /* dirsync behaviour (dir only) */
- {0x00020000, "LUSTRE_TOPDIR_FL "}, /* Top of directory hierarchies */
- {0x00100000, "LUSTRE_DIRECTIO_FL "}, /* Use direct i/o */
- {0x10000000, "LUSTRE_INLINE_DATA_FL "}, /* Inode has inline data. */
- { 0, NULL }
-};
-
-const value_string lustre_mgs_config_body_types[] = {
- { 0, "CONFIG" },
- { 1, "SPTLRPC" },
- { 2, "RECOVER" },
- { 3, "MAX" },
- { 0, NULL }
-};
-
-const value_string lustre_LMTypes[] = {
- { PTL_RPC_MSG_REQUEST, "request"},
- { PTL_RPC_MSG_ERR , "error"},
- { PTL_RPC_MSG_REPLY , "reply"},
- { 0, NULL }
-};
-
-const value_string lustre_mds_reint_op_vals[] = {
- { REINT_SETATTR, "REINT_SETATTR" },
- { REINT_CREATE, "REINT_CREATE" },
- { REINT_LINK, "REINT_LINK" },
- { REINT_UNLINK, "REINT_UNLINK" },
- { REINT_RENAME, "REINT_RENAME" },
- { REINT_OPEN, "REINT_OPEN" },
- { REINT_SETXATTR, "REINT_SETXATTR" },
- { REINT_RMENTRY, "REINT_RMENTRY" },
- { REINT_MIGRATE, "REINT_MIGRATE" },
- { 0, NULL }
-};
-const value_string lustre_op_codes[] = {
- /*OST Opcodes*/
- {0 , "OST_REPLY"},
- {1 , "OST_GETATTR"},
- {2 , "OST_SETATTR"},
- {3 , "OST_READ"},
- {4 , "OST_WRITE"},
- {5 , "OST_CREATE"},
- {6 , "OST_DESTROY"},
- {7 , "OST_GET_INFO"},
- {8 , "OST_CONNECT"},
- {9 , "OST_DISCONNECT"},
- {10 , "OST_PUNCH"},
- {11 , "OST_OPEN"},
- {12 , "OST_CLOSE"},
- {13 , "OST_STATFS"},
- {14 , "OST_SAN_READ(deprecated)"},
- {15 , "OST_SAN_WRITE(deprecated)"},
- {16 , "OST_SYNC"},
- {17 , "OST_SET_INFO"},
- {18 , "OST_QUOTACHECK"},
- {19 , "OST_QUOTACTL"},
- {20 , "OST_QUOTA_ADJUST_QUNIT"},
- {21 , "OST_LADVISE"},
- {22 , "OST_LAST_OPC"},
- /*MDS Opcodes*/
- {33 , "MDS_GETATTR"},
- {34 , "MDS_GETATTR_NAME"},
- {35 , "MDS_CLOSE"},
- {36 , "MDS_REINT"},
- {37 , "MDS_READPAGE"},
- {38 , "MDS_CONNECT"},
- {39 , "MDS_DISCONNECT"},
- {40 , "MDS_GET_ROOT"},
- {41 , "MDS_STATFS"},
- {42 , "MDS_PIN"},
- {43 , "MDS_UNPIN"},
- {44 , "MDS_SYNC"},
- {45 , "MDS_DONE_WRITING"},
- {46 , "MDS_SET_INFO"},
- {47 , "MDS_QUOTACHECK"},
- {48 , "MDS_QUOTACTL"},
- {49 , "MDS_GETXATTR"},
- {50 , "MDS_SETXATTR"},
- {51 , "MDS_WRITEPAGE"},
- {52 , "MDS_IS_SUBDIR"},
- {53 , "MDS_GET_INFO"},
- {54 , "MDS_HSM_STATE_GET"},
- {55 , "MDS_HSM_STATE_SET"},
- {56 , "MDS_HSM_ACTION"},
- {57 , "MDS_HSM_PROGRESS"},
- {58 , "MDS_HSM_REQUEST"},
- {59 , "MDS_HSM_CT_REGISTER"},
- {60 , "MDS_HSM_CT_UNREGISTER"},
- {61 , "MDS_SWAP_LAYOUTS"},
- {62 , "MDS_LAST_OPC"},
- /*LDLM Opcodes*/
- {101 , "LDLM_ENQUEUE"},
- {102 , "LDLM_CONVERT"},
- {103 , "LDLM_CANCEL"},
- {104 , "LDLM_BL_CALLBACK"},
- {105 , "LDLM_CP_CALLBACK"},
- {106 , "LDLM_GL_CALLBACK"},
- {107 , "LDLM_SET_INFO"},
- {108 , "LDLM_LAST_OPC"},
- /*MGS Opcodes*/
- {250 , "MGS_CONNECT"},
- {251 , "MGS_DISCONNECT"},
- {252 , "MGS_EXCEPTION"},
- {253 , "MGS_TARGET_REG"},
- {254 , "MGS_TARGET_DEL"},
- {255 , "MGS_SET_INFO"},
- {256 , "MGS_CONFIG_READ"},
- {257 , "MGS_LAST_OPC"},
- /*OBD Opcodes*/
- {400 , "OBD_PING"},
- {401 , "OBD_LOG_CANCEL"},
- {402 , "OBD_QC_CALLBACK"},
- {403 , "OBD_LAST_OPC"},
- /* LLOG opcodes */
- { 501, "LLOG_ORIGIN_HANDLE_CREATE"},
- { 502, "LLOG_ORIGIN_HANDLE_NEXT_BLOCK"},
- { 503, "LLOG_ORIGIN_HANDLE_READ_HEADER"},
- { 504, "LLOG_ORIGIN_HANDLE_WRITE_REC"},
- { 505, "LLOG_ORIGIN_HANDLE_CLOSE"},
- { 506, "LLOG_ORIGIN_CONNECT"},
- { 507, "LLOG_CATINFO"},
- { 508, "LLOG_ORIGIN_HANDLE_PREV_BLOCK"},
- { 509, "LLOG_ORIGIN_HANDLE_DESTROY"},
- /* SEQ RPC opcodes */
- { 700, "SEQ_QUERY"},
- { 701, "SEQ_LAST_OPC"},
- /* FLD RPC opcodes */
- { 900, "FLD_QUERY"},
- { 901, "FLD_LAST_OPC"},
- { 0, NULL }
-};
-
-/* detailled version the information came from : http://wiki.lustre.org/images/e/e5/LustreInternals_Architecture.pdf */
-const value_string lustre_ldlm_mode_vals[] = {
- { LCK_MINMODE, "MINMODE" },
- { LCK_EX, "Exclusive" },
- { LCK_PW, "Protected Write" },
- { LCK_PR, "Protected Read" },
- { LCK_CW, "Concurrent Write" },
- { LCK_CR, "Concurrent Read" },
- { LCK_NL, "Null" },
- { LCK_GROUP, "GROUP" },
- { 0, NULL }
-};
-
-const value_string lustre_ldlm_type_vals[] = {
- { LDLM_PLAIN, "LDLM_PLAIN" },
- { LDLM_EXTENT,"LDLM_EXTENT" },
- { LDLM_FLOCK, "LDLM_FLOCK" },
- { LDLM_IBITS, "LDLM_IBITS" },
- { 0, NULL }
-};
-
-
-const value_string lustre_llog_cmd_t_vals[] = {
- { LLOG_ORIGIN_HANDLE_CREATE, "LLOG_ORIGIN_HANDLE_CREATE" },
- { LLOG_ORIGIN_HANDLE_NEXT_BLOCK, "LLOG_ORIGIN_HANDLE_NEXT_BLOCK" },
- { LLOG_ORIGIN_HANDLE_READ_HEADER, "LLOG_ORIGIN_HANDLE_READ_HEADER" },
- { LLOG_ORIGIN_HANDLE_WRITE_REC, "LLOG_ORIGIN_HANDLE_WRITE_REC" },
- { LLOG_ORIGIN_HANDLE_CLOSE, "LLOG_ORIGIN_HANDLE_CLOSE" },
- { LLOG_ORIGIN_CONNECT, "LLOG_ORIGIN_CONNECT" },
- { LLOG_CATINFO, "LLOG_CATINFO" },
- { LLOG_ORIGIN_HANDLE_PREV_BLOCK, "LLOG_ORIGIN_HANDLE_PREV_BLOCK" },
- { LLOG_ORIGIN_HANDLE_DESTROY, "LLOG_ORIGIN_HANDLE_DESTROY" },
- { 0, NULL }
-};
-
-/* from lustre_user.h */
-enum hsm_user_action {
- HUA_NONE = 1, /* no action (noop) */
- HUA_ARCHIVE = 10, /* copy to hsm */
- HUA_RESTORE = 11, /* prestage */
- HUA_RELEASE = 12, /* drop ost objects */
- HUA_REMOVE = 13, /* remove from archive */
- HUA_CANCEL = 14 /* cancel a request */
-};
-const value_string lustre_hsm_user_action_t_vals[] = {
- { HUA_NONE, "NOOP" },
- { HUA_ARCHIVE, "ARCHIVE" },
- { HUA_RESTORE, "RESTORE" },
- { HUA_RELEASE, "RELEASE" },
- { HUA_REMOVE, "REMOVE" },
- { HUA_CANCEL, "CANCEL" },
-};
-
-enum hsm_states {
- HS_EXISTS = 0x00000001,
- HS_DIRTY = 0x00000002,
- HS_RELEASED = 0x00000004,
- HS_ARCHIVED = 0x00000008,
- HS_NORELEASE = 0x00000010,
- HS_NOARCHIVE = 0x00000020,
- HS_LOST = 0x00000040,
-};
-const value_string lustre_hsm_states_t_vals[] = {
- { HS_EXISTS, "EXISTS" },
- { HS_DIRTY, "DIRTY" },
- { HS_RELEASED, "RELEASED" },
- { HS_ARCHIVED, "ARCHIVED" },
- { HS_NORELEASE, "NORELEASED" },
- { HS_NOARCHIVE, "NOARCHIVED" },
- { HS_LOST, "LOST" },
-};
-
-enum hsm_progress_states {
- HPS_WAITING = 1,
- HPS_RUNNING = 2,
- HPS_DONE = 3,
-};
-const value_string lustre_hsm_progress_state_t_vals[] = {
- { HPS_WAITING, "WAITING" },
- { HPS_RUNNING, "RUNNING" },
- { HPS_DONE, "DONE" },
-};
-
-#ifndef ENABLE_STATIC
-const gchar version[] = VERSION;
-
-/* Start the functions we need for the plugin stuff */
-
-void
-plugin_register(void)
-{
- extern void proto_register_dcerpc_lustre(void);
-
- proto_register_dcerpc_lustre();
-}
-
-void
-plugin_reg_handoff(void)
-{
- extern void proto_reg_handoff_lustre(void);
-
- proto_reg_handoff_lustre();
-}
-#endif
-
-
-/* ------------------------------------------------------------------- */
-/* display functions */
-/* ------------------------------------------------------------------- */
-/* display str in left corner and in COL */
-/* @gint col : the col where we add the information */
-static void display_info_str(proto_item *pi, column_info *cinfo, gint col,
- const gchar *str)
-{
- if (NULL != pi)
- proto_item_append_text(pi, str);
-
- if (NULL != cinfo)
- col_append_str(cinfo, col, str);
-}
-
-/*
- * Need to be (re)written
- */
-static void display_info_fstr(proto_item *pi, column_info *cinfo, gint col,
- const char *format, const gchar *str)
-{
- if (NULL != pi)
- proto_item_append_text(pi, format, str);
-
- if (NULL != cinfo)
- col_append_fstr(cinfo, col, format, str);
-}
-
-
-/* -------------------------- basic dissect functions ------------------- */
-static int dissect_uint64(tvbuff_t *tvb, gint offset, packet_info *pinfo _U_,
- proto_tree *tree, int hfindex)
-{
- proto_tree_add_item(tree, hfindex, tvb, offset, 8, TRUE);
- return offset+8;
-}
-
-static int
-dissect_uint32(tvbuff_t *tvb, gint offset, packet_info *pinfo _U_,
- proto_tree *tree, int hfindex)
-{
- proto_tree_add_item(tree, hfindex, tvb, offset, 4, TRUE);
- return offset+4;
-}
-
-static int
-dissect_uint16
-(tvbuff_t *tvb, gint offset, packet_info *pinfo _U_, proto_tree *tree, int hfindex)
-{
- proto_tree_add_item(tree, hfindex, tvb, offset, 2, TRUE);
- return offset+2;
-}
-
-static int
-dissect_uint8
-(tvbuff_t *tvb, gint offset, packet_info *pinfo _U_, proto_tree *tree, int hfindex)
-{
- proto_tree_add_item(tree, hfindex, tvb, offset, 1, TRUE);
- return offset+1;
-}
-
-/* ------------------------------------------------------------------------- */
-
-/* dissect raw data */
-static int
-lustre_dissect_element_data(tvbuff_t *tvb _U_, int offset _U_,
- packet_info *pinfo _U_, proto_tree *parent_tree _U_,
- int hf_index _U_, guint32 buf_num)
-{
- proto_item *item = NULL;
-
- guint32 data_len;
- int old_offset;
-
- old_offset = offset;
-
- data_len = LUSTRE_BUFFER_LEN(buf_num);
- if (data_len == 0)
- return offset;
-
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, data_len, TRUE);
-
- offset += data_len;
- proto_item_set_len(item, offset-old_offset);
- offset = add_extra_padding(tvb, offset, pinfo, parent_tree);
-
- return offset;
-}
-
-static int
-lustre_dissect_struct_element_data(tvbuff_t *tvb _U_, int offset _U_,
- packet_info *pinfo _U_, proto_tree *parent_tree _U_,
- int hf_index _U_, guint32 data_len)
-{
- proto_item *item = NULL;
-
- if (data_len == 0)
- return offset;
-
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, data_len, TRUE);
-
- offset += data_len;
- proto_item_set_len(item, data_len);
- offset = add_extra_padding(tvb, offset, pinfo, parent_tree);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_hmac(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
- proto_tree *parent_tree _U_, int hf_index _U_, int max_length)
-{
- int i;
- int val;
- proto_item *item = NULL;
-
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, 0, TRUE);
- for (i=0; i < max_length; ++i) {
- val = tvb_get_guint8(tvb, offset+i);
- proto_item_append_text(item, (i) ? "%02x" : ": %#02x", val);
- }
-
- offset += max_length;
- proto_item_set_len(item, max_length);
- return offset;
-}
-
-/* struct ost_id { */
-/* union { */
-/* struct { */
-/* __u64 oi_id; */
-/* __u64 oi_seq; */
-/* } oi; */
-/* struct lu_fid oi_fid; */
-/* }; */
-/* }; */
-int
-lustre_dissect_struct_ostid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
- proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_ost_id);
- }
-
- offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ost_id_oi_id);
- offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ost_id_oi_seq);
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-/* ------------------------------------------------------------------------ */
-
-
-
-/* IDL: struct lustre_handle { */
-/* IDL: uint64 cookie; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_handle_cookie(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lustre_handle_cookie);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_handle_cookie(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_lustre_handle_cookie);
- }
-
- offset=lustre_dissect_element_handle_cookie(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* IDL: struct obd_connect_data { */
-/* IDL: uint64 ocd_connect_flags; */
-/* IDL: uint32 ocd_version; */
-/* IDL: uint32 ocd_grant; */
-/* IDL: uint32 ocd_index; */
-/* IDL: uint32 ocd_brw_size; */
-/* IDL: uint64 ocd_ibits_known; */
-/* IDL: uint32 ocd_nllu; */
-/* IDL: uint32 ocd_nllg; */
-/* IDL: uint64 ocd_transno; */
-/* IDL: uint32 ocd_group; */
-/* IDL: uint32 ocd_cksum_types; */
-/* IDL: uint64 padding1; */
-/* IDL: uint64 padding2; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_obd_connect_data_ocd_connect_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_connect_flags);
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_connect_data_ocd_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- guint32 version;
- guint32 major, minor, patch, fix;
- proto_item *item;
-
- version = tvb_get_letohl(tvb, offset);
- fix = version & 0xff;
- version >>= 8;
- patch = version & 0xff;
- version >>= 8;
- minor = version & 0xff;
- version >>= 8;
- major = version & 0xff;
-
- item = proto_tree_add_item(tree, hf_lustre_obd_connect_data_ocd_version,
- tvb, offset, 0, TRUE);
- proto_item_append_text(item, ": %d.%d.%d.%d",
- major, minor, patch, fix);
- proto_item_set_len(item, 4);
-
- offset += 4;
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_connect_data_ocd_grant(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_grant);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_connect_data_ocd_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_index);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_connect_data_ocd_brw_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_brw_size);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_connect_data_ocd_ibits_known(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_ibits_known);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_connect_data_ocd_nllu(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_nllu);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_connect_data_ocd_cksum_types(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_cksum_types);
-
- return offset;
-}
-
-static int
-lustre_dissect_struct_obd_connect_data(tvbuff_t *tvb _U_, int offset _U_,
- packet_info *pinfo _U_,
- proto_tree *parent_tree _U_,
- int hf_index _U_, guint32 buf_num)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
- int data_len;
-
- data_len = LUSTRE_BUFFER_LEN(buf_num);
- if (data_len == 0)
- return offset;
-
- old_offset = offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb,
- offset, -1, TRUE);
- tree = proto_item_add_subtree(item,
- ett_lustre_obd_connect_data);
- }
-
- /* ocd_connect_flags = get_... */
- offset = lustre_dissect_element_obd_connect_data_ocd_connect_flags(tvb,
- offset, pinfo, tree);
-
- offset = lustre_dissect_element_obd_connect_data_ocd_version(tvb,
- offset, pinfo, tree);
-
- offset = lustre_dissect_element_obd_connect_data_ocd_grant(tvb,
- offset, pinfo, tree);
-
- offset = lustre_dissect_element_obd_connect_data_ocd_index(tvb,
- offset, pinfo, tree);
-
- offset = lustre_dissect_element_obd_connect_data_ocd_brw_size(tvb,
- offset, pinfo, tree);
-
- offset = lustre_dissect_element_obd_connect_data_ocd_ibits_known(tvb,
- offset, pinfo, tree);
-
- if (data_len == 72) {
- offset = lustre_dissect_element_obd_connect_data_ocd_nllu(tvb,
- offset, pinfo, tree);
-
- } else { /* if data_len == 192 */
- /* Actually blocksize, inodespace, grant_extent */
- offset = lustre_dissect_element_obd_connect_data_ocd_nllu(tvb,
- offset, pinfo, tree);
- }
-
- offset = dissect_uint32(tvb, offset, pinfo, tree,
- hf_lustre_obd_connect_data_ocd_nllg);
- offset = dissect_uint64(tvb, offset, pinfo, tree,
- hf_lustre_obd_connect_data_ocd_transno);
- offset = dissect_uint32(tvb, offset, pinfo, tree,
- hf_lustre_obd_connect_data_ocd_group);
- offset = lustre_dissect_element_obd_connect_data_ocd_cksum_types(tvb,
- offset, pinfo, tree);
-
- /* if (ocd_connect_flags & OBD_CONNECT_MAX_EASIZE) */
- offset = dissect_uint32(tvb, offset, pinfo, tree,
- hf_lustre_obd_connect_data_ocd_max_easize);
-
- offset = dissect_uint32(tvb, offset, pinfo, tree,
- hf_lustre_obd_connect_data_ocd_instance);
- /* if (ocd_connect_flags & OBD_CONNECT_MAXBYTES) */
- offset = dissect_uint64(tvb, offset, pinfo, tree,
- hf_lustre_obd_connect_data_ocd_maxbytes);
- if (data_len >= 74) /* && (flags & OBD_CONNECT_MULTIMODRPCS) */
- offset = dissect_uint16(tvb, offset, pinfo, tree,
- hf_lustre_obd_connect_data_ocd_maxmodrpcs);
-
- if (old_offset+data_len > offset) {
- proto_tree_add_item(tree, hf_lustre_extra_padding,
- tvb, offset, (old_offset+data_len)-offset, TRUE);
- offset = old_offset+data_len;
- }
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-
-/* IDL: struct lov_ost_data_v1 { */
-/* IDL: uint64 l_object_id; */
-/* IDL: uint64 l_object_seq; */
-/* IDL: uint32 l_ost_gen; */
-/* IDL: uint32 l_ost_idx; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_lov_ost_data_v1_l_object_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_ost_data_v1_l_object_id);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_lov_ost_data_v1_l_object_seq(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_ost_data_v1_l_object_seq);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_lov_ost_data_v1_l_ost_gen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_ost_data_v1_l_ost_gen);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_lov_ost_data_v1_l_ost_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_ost_data_v1_l_ost_idx);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_lov_ost_data_v1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_lov_ost_data_v1);
- }
-
- offset=lustre_dissect_element_lov_ost_data_v1_l_object_id(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_lov_ost_data_v1_l_object_seq(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_lov_ost_data_v1_l_ost_gen(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_lov_ost_data_v1_l_ost_idx(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* IDL: struct lov_mds_md_v1 { */
-/* IDL: uint32 lmm_magic; */
-/* IDL: uint32 lmm_pattern; */
-/* IDL: uint64 lmm_object_id; */
-/* IDL: uint64 lmm_object_seq; */
-/* IDL: uint32 lmm_stripe_size; */
-/* IDL: uint16 lmm_stripe_count; */
-/* IDL: uint16 lmm_layout_gen; */
-/* IDL: struct lov_ost_data_v1 { */
-/* IDL: } lmm_objects[0]; <-- en fait on en a lmm_stripe_count */
-/* IDL: } */
-
-int
-lustre_dissect_struct_lov_mds_md_v1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset, i;
-
- guint16 stripe_count;
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index,
- tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_lov_mds_md_v1);
- }
-
- offset = dissect_uint32(tvb, offset, pinfo, tree,
- hf_lustre_lov_mds_md_lmm_magic);
- offset = dissect_uint32(tvb, offset, pinfo, tree,
- hf_lustre_lov_mds_md_lmm_pattern);
- offset = dissect_uint64(tvb, offset, pinfo, tree,
- hf_lustre_lov_mds_md_lmm_object_id);
- offset = dissect_uint64(tvb, offset, pinfo, tree,
- hf_lustre_lov_mds_md_lmm_object_seq);
- offset = dissect_uint32(tvb, offset, pinfo, tree,
- hf_lustre_lov_mds_md_lmm_stripe_size);
-
- stripe_count = tvb_get_letohs(tvb, offset);
- offset = dissect_uint16(tvb, offset, pinfo, tree,
- hf_lustre_lov_mds_md_lmm_stripe_count);
- offset = dissect_uint16(tvb, offset, pinfo, tree,
- hf_lustre_lov_mds_md_lmm_layout_gen);
-
- for (i = 0; i < stripe_count; ++i)
- offset = lustre_dissect_struct_lov_ost_data_v1(tvb, offset,
- pinfo, tree, hf_lustre_lov_mds_md_lmm_objects);
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-
-/* struct lov_mds_md_v3 { /\* LOV EA mds/wire data (little-endian) *\/ */
-/* __u32 lmm_magic; /\* magic number = LOV_MAGIC_V3 *\/ */
-/* __u32 lmm_pattern; /\* LOV_PATTERN_RAID0, LOV_PATTERN_RAID1 *\/ */
-/* struct ost_id lmm_oi; /\* LOV object ID *\/ */
-/* __u32 lmm_stripe_size; /\* size of stripe in bytes *\/ */
-/* /\* lmm_stripe_count used to be __u32 *\/ */
-/* __u16 lmm_stripe_count; /\* num stripes in use for this object *\/ */
-/* __u16 lmm_layout_gen; /\* layout generation number *\/ */
-/* char lmm_pool_name[LOV_MAXPOOLNAME + 1]; /\* must be 32bit aligned *\/ */
-/* struct lov_ost_data_v1 lmm_objects[0]; /\* per-stripe data *\/ */
-/* }; */
-
-int
-lustre_dissect_struct_lov_mds_md_v3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset, i;
-
- guint16 stripe_count;
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index,
- tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_lov_mds_md_v3);
- }
-
- offset = dissect_uint32(tvb, offset, pinfo, tree,
- hf_lustre_lov_mds_md_lmm_magic);
- offset = dissect_uint32(tvb, offset, pinfo, tree,
- hf_lustre_lov_mds_md_lmm_pattern);
- offset = lustre_dissect_struct_ostid(tvb, offset, pinfo, tree,
- hf_lustre_lov_mds_md_lmm_oi);
- offset = dissect_uint32(tvb, offset, pinfo, tree,
- hf_lustre_lov_mds_md_lmm_stripe_size);
-
- stripe_count = tvb_get_letohs(tvb, offset);
- offset = dissect_uint16(tvb, offset, pinfo, tree,
- hf_lustre_lov_mds_md_lmm_stripe_count);
- offset = dissect_uint16(tvb, offset, pinfo, tree,
- hf_lustre_lov_mds_md_lmm_layout_gen);
- offset = lustre_dissect_struct_element_data(tvb, offset, pinfo, tree,
- hf_lustre_lov_mds_md_lmm_pool_name,
- LOV_MAXPOOLNAME+1);
-
- for (i = 0; i < stripe_count; ++i)
- offset = lustre_dissect_struct_lov_ost_data_v1(tvb, offset,
- pinfo, tree, hf_lustre_lov_mds_md_lmm_objects);
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_lov_mds_md(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
- proto_tree *parent_tree _U_,
- int hf_index _U_, int buff_num _U_)
-{
- int magic;
-
- if(LUSTRE_BUFFER_LEN(buff_num) == 0)
- return offset;
-
- magic=tvb_get_letohl(tvb, offset); /* TODO : replace this with a macro */
- switch(magic) {
- case LOV_MAGIC_V1:
- offset=lustre_dissect_struct_lov_mds_md_v1(tvb,offset,pinfo,parent_tree,
- hf_index);
- break;
- case LOV_MAGIC_V3:
- offset=lustre_dissect_struct_lov_mds_md_v3(tvb,offset,pinfo,parent_tree,
- hf_index);
- break;
- default:
- offset=lustre_dissect_element_data(tvb, offset, pinfo, parent_tree,
- hf_lustre_generic_data, buff_num);
- break;
- };
-
- return offset;
-}
-
-
-
-/* IDL: struct obd_statfs { */
-/* IDL: uint64 os_type; */
-/* IDL: uint64 os_blocks; */
-/* IDL: uint64 os_bfree; */
-/* IDL: uint64 os_bavail; */
-/* IDL: uint64 os_files; */
-/* IDL: uint64 os_ffree; */
-/* IDL: uint8 os_fsid[40]; */
-/* IDL: uint32 os_bsize; */
-/* IDL: uint32 os_namelen; */
-/* IDL: uint64 os_maxbytes; */
-/* IDL: uint32 os_state; */
-/* IDL: uint32 os_spare1; */
-/* IDL: uint32 os_spare2; */
-/* IDL: uint32 os_spare3; */
-/* IDL: uint32 os_spare4; */
-/* IDL: uint32 os_spare5; */
-/* IDL: uint32 os_spare6; */
-/* IDL: uint32 os_spare7; */
-/* IDL: uint32 os_spare8; */
-/* IDL: uint32 os_spare9; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_obd_statfs_os_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_type);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_statfs_os_blocks(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_blocks);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_statfs_os_bfree(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_bfree);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_statfs_os_bavail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_bavail);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_statfs_os_files(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_files);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_statfs_os_ffree(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_ffree);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_statfs_os_fsid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_fsid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_statfs_os_fsid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- int i;
- for (i = 0; i < 40; i++)
- offset=lustre_dissect_element_obd_statfs_os_fsid_(tvb, offset, pinfo, tree);
-
- return offset;
-}
-
-
-
-static int
-lustre_dissect_element_obd_statfs_os_bsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_bsize);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_statfs_os_namelen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_namelen);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_statfs_os_maxbytes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_maxbytes);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_statfs_os_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_state);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_statfs_os_spare1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare1);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_statfs_os_spare2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare2);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_statfs_os_spare3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare3);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_statfs_os_spare4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare4);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_statfs_os_spare5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare5);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_statfs_os_spare6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare6);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_statfs_os_spare7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare7);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_statfs_os_spare8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare8);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_statfs_os_spare9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare9);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_obd_statfs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_obd_statfs);
- }
-
- offset=lustre_dissect_element_obd_statfs_os_type(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_statfs_os_blocks(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_statfs_os_bfree(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_statfs_os_bavail(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_statfs_os_files(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_statfs_os_ffree(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_statfs_os_fsid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_statfs_os_bsize(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_statfs_os_namelen(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_statfs_os_maxbytes(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_statfs_os_state(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_statfs_os_spare1(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_statfs_os_spare2(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_statfs_os_spare3(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_statfs_os_spare4(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_statfs_os_spare5(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_statfs_os_spare6(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_statfs_os_spare7(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_statfs_os_spare8(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_statfs_os_spare9(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* IDL: struct obd_ioobj { */
-/* IDL: uint64 ioo_id; */
-/* IDL: uint64 ioo_seq; */
-/* IDL: uint32 ioo_max_brw; */
-/* IDL: uint32 ioo_bufcnt; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_obd_ioobj_ioo_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj_ioo_id);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_ioobj_ioo_seq(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj_ioo_seq);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_ioobj_ioo_max_brw(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj_ioo_max_brw);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_ioobj_ioo_bufcnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj_ioo_bufcnt);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_obd_ioobj(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_obd_ioobj);
- }
-
- offset=lustre_dissect_element_obd_ioobj_ioo_id(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_ioobj_ioo_seq(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_ioobj_ioo_max_brw(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_ioobj_ioo_bufcnt(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* IDL: struct niobuf_remote { */
-/* IDL: uint64 offset; */
-/* IDL: uint32 len; */
-/* IDL: uint32 flags; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_niobuf_remote_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_niobuf_remote_offset);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_niobuf_remote_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_niobuf_remote_len);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_niobuf_remote_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_niobuf_remote_flags);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_niobuf_remote(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_niobuf_remote);
- }
-
- offset=lustre_dissect_element_niobuf_remote_offset(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_niobuf_remote_len(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_niobuf_remote_flags(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* IDL: struct ost_lvb { */
-/* IDL: uint64 lvb_size; */
-/* IDL: uint64 lvb_mtime; */
-/* IDL: uint64 lvb_atime; */
-/* IDL: uint64 lvb_ctime; */
-/* IDL: uint64 lvb_blocks; */
-/* v1 of this type ends here */
-/* uint32 lvb_mtime_ns; */
-/* uint32 lvb_atime_ns; */
-/* uint32 lvb_ctime_ns; */
-/* uint32 lvb_padding; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_ost_lvb_lvb_time(tvbuff_t *tvb _U_, int offset _U_,
- packet_info *pinfo _U_,
- proto_tree *tree _U_,
- int hf_index _U_, int ns_offset _U_)
-{
- nstime_t ns;
- /* timestamp */
- ns.secs = tvb_get_letoh64(tvb, offset);
- if (ns_offset != 0)
- ns.nsecs = tvb_get_letohl(tvb, offset+ns_offset);
- proto_tree_add_time(tree, hf_index, tvb, offset, 8, &ns);
- offset += 8;
- return offset;
-}
-
-int
-lustre_dissect_struct_ost_lvb(tvbuff_t *tvb _U_, int offset _U_,
- packet_info *pinfo _U_,
- proto_tree *parent_tree _U_,
- int hf_index _U_, int buff_num _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
- int buff_len;
-
- buff_len = LUSTRE_BUFFER_LEN(buff_num);
-
- if (buff_len == 0)
- return offset;
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_ost_lvb);
- }
-
- /* v1 format size is 40
- * v2 format size is 56 w/ ns for times
- */
-
- offset = dissect_uint64(tvb, offset, pinfo, tree,
- hf_lustre_ost_lvb_lvb_size);
-
- offset = lustre_dissect_element_ost_lvb_lvb_time(tvb, offset,
- pinfo, tree, hf_lustre_ost_lvb_lvb_mtime,
- (buff_len >= 56) ?32 :0);
-
- offset = lustre_dissect_element_ost_lvb_lvb_time(tvb, offset,
- pinfo, tree, hf_lustre_ost_lvb_lvb_atime,
- (buff_len >= 56) ?28 :0);
-
- offset = lustre_dissect_element_ost_lvb_lvb_time(tvb, offset,
- pinfo, tree, hf_lustre_ost_lvb_lvb_ctime,
- (buff_len >= 56) ?24 :0);
-
- offset = dissect_uint64(tvb, offset, pinfo, tree,
- hf_lustre_ost_lvb_lvb_blocks);
-
- /* post-v1 format */
- if (buff_len >= 56) {
- offset = dissect_uint32(tvb, offset, pinfo, tree,
- hf_lustre_ost_lvb_lvb_mtime_ns);
- offset = dissect_uint32(tvb, offset, pinfo, tree,
- hf_lustre_ost_lvb_lvb_atime_ns);
- offset = dissect_uint32(tvb, offset, pinfo, tree,
- hf_lustre_ost_lvb_lvb_ctime_ns);
- offset = dissect_uint32(tvb, offset, pinfo, tree,
- hf_lustre_ost_lvb_lvb_padding);
- }
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-
-/* IDL: struct ll_fid { */
-/* IDL: uint64 id; */
-/* IDL: uint32 generation; */
-/* IDL: uint32 f_type; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_ll_fid_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ll_fid_id);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ll_fid_generation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ll_fid_generation);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ll_fid_f_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ll_fid_f_type);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_lu_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_ll_fid);
- }
-
- offset=lustre_dissect_element_ll_fid_id(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ll_fid_generation(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ll_fid_f_type(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* IDL: struct obd_dqinfo { */
-/* IDL: uint64 dqi_bgrace; */
-/* IDL: uint64 dqi_igrace; */
-/* IDL: uint32 dqi_flags; */
-/* IDL: uint32 dqi_valid; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_obd_dqinfo_dqi_bgrace(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqinfo_dqi_bgrace);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_dqinfo_dqi_igrace(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqinfo_dqi_igrace);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_dqinfo_dqi_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_dqinfo_dqi_flags);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_dqinfo_dqi_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_dqinfo_dqi_valid);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_obd_dqinfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset = offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_obd_dqinfo);
- }
-
- offset = lustre_dissect_element_obd_dqinfo_dqi_bgrace(tvb, offset, pinfo, tree);
-
- offset = lustre_dissect_element_obd_dqinfo_dqi_igrace(tvb, offset, pinfo, tree);
-
- offset = lustre_dissect_element_obd_dqinfo_dqi_flags(tvb, offset, pinfo, tree);
-
- offset = lustre_dissect_element_obd_dqinfo_dqi_valid(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* IDL: struct obd_dqblk { */
-/* IDL: uint64 dqb_bhardlimit; */
-/* IDL: uint64 dqb_bsoftlimit; */
-/* IDL: uint64 dqb_curspace; */
-/* IDL: uint64 dqb_ihardlimit; */
-/* IDL: uint64 dqb_isoftlimit; */
-/* IDL: uint64 dqb_curinodes; */
-/* IDL: uint64 dqb_btime; */
-/* IDL: uint64 dqb_itime; */
-/* IDL: uint32 dqb_valid; */
-/* IDL: uint32 padding; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_obd_dqblk_dqb_bhardlimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_bhardlimit);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_dqblk_dqb_bsoftlimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_bsoftlimit);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_dqblk_dqb_curspace(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_curspace);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_dqblk_dqb_ihardlimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_ihardlimit);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_dqblk_dqb_isoftlimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_isoftlimit);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_dqblk_dqb_curinodes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_curinodes);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_dqblk_dqb_btime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
-
- nstime_t ns;
- /* timestamp */
- ns.secs = tvb_get_letohl(tvb,offset);
- ns.nsecs=0;
- proto_tree_add_time(tree, hf_lustre_obd_dqblk_dqb_btime, tvb, offset, 8, &ns );
- offset+=8;
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_dqblk_dqb_itime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- nstime_t ns;
- /* timestamp */
- ns.secs = tvb_get_letohl(tvb,offset);
- ns.nsecs=0;
- proto_tree_add_time(tree, hf_lustre_obd_dqblk_dqb_itime, tvb, offset, 8, &ns );
- offset+=8;
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_dqblk_dqb_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_valid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_dqblk_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_padding);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_obd_dqblk(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset = offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_obd_dqblk);
- }
-
- offset = lustre_dissect_element_obd_dqblk_dqb_bhardlimit(tvb, offset, pinfo, tree);
-
- offset = lustre_dissect_element_obd_dqblk_dqb_bsoftlimit(tvb, offset, pinfo, tree);
-
- offset = lustre_dissect_element_obd_dqblk_dqb_curspace(tvb, offset, pinfo, tree);
-
- offset = lustre_dissect_element_obd_dqblk_dqb_ihardlimit(tvb, offset, pinfo, tree);
-
- offset = lustre_dissect_element_obd_dqblk_dqb_isoftlimit(tvb, offset, pinfo, tree);
-
- offset = lustre_dissect_element_obd_dqblk_dqb_curinodes(tvb, offset, pinfo, tree);
-
- offset = lustre_dissect_element_obd_dqblk_dqb_btime(tvb, offset, pinfo, tree);
-
- offset = lustre_dissect_element_obd_dqblk_dqb_itime(tvb, offset, pinfo, tree);
-
- offset = lustre_dissect_element_obd_dqblk_dqb_valid(tvb, offset, pinfo, tree);
-
- offset = lustre_dissect_element_obd_dqblk_padding(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-
-/* IDL: struct obd_quotactl { */
-/* IDL: uint32 qc_cmd; */
-/* IDL: uint32 qc_type; */
-/* IDL: uint32 qc_id; */
-/* IDL: uint32 qc_stat; */
-/* IDL: struct obd_dqinfo { */
-/* IDL: } qc_dqinfo; */
-/* IDL: struct obd_dqblk { */
-/* IDL: } qc_dqblk; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_obd_quotactl_qc_cmd(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl_qc_cmd);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_quotactl_qc_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl_qc_type);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_quotactl_qc_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl_qc_id);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_quotactl_qc_stat(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl_qc_stat);
-
- return offset;
-}
-
-
-
-static int
-lustre_dissect_element_obd_quotactl_qc_dqblk(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_obd_dqblk(tvb,offset,pinfo,tree,hf_lustre_obd_quotactl_qc_dqblk);
- return offset;
-}
-
-static int
-lustre_dissect_element_obd_quotactl_qc_dqinfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_obd_dqinfo(tvb,offset,pinfo,tree,hf_lustre_obd_quotactl_qc_dqinfo);
- return offset;
-}
-
-int
-lustre_dissect_struct_obd_quotactl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_obd_quotactl);
- }
-
- offset=lustre_dissect_element_obd_quotactl_qc_cmd(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_quotactl_qc_type(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_quotactl_qc_id(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_quotactl_qc_stat(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_quotactl_qc_dqinfo(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obd_quotactl_qc_dqblk(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-
-/* IDL: struct quota_adjust_qunit { */
-/* IDL: uint32 qaq_flags; */
-/* IDL: uint32 qaq_id; */
-/* IDL: uint64 qaq_bunit_sz; */
-/* IDL: uint64 qaq_iunit_sz; */
-/* IDL: uint64 padding1; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_quota_adjust_qunit_qaq_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_qaq_flags);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_quota_adjust_qunit_qaq_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_qaq_id);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_quota_adjust_qunit_qaq_bunit_sz(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_qaq_bunit_sz);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_quota_adjust_qunit_qaq_iunit_sz(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_qaq_iunit_sz);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_quota_adjust_qunit_padding1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_padding1);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_quota_adjust_qunit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_quota_adjust_qunit);
- }
-
- offset=lustre_dissect_element_quota_adjust_qunit_qaq_flags(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_quota_adjust_qunit_qaq_id(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_quota_adjust_qunit_qaq_bunit_sz(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_quota_adjust_qunit_qaq_iunit_sz(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_quota_adjust_qunit_padding1(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* IDL: struct mdt_body { */
-/* IDL: struct lu_fid { */
-/* IDL: } fid1; */
-/* IDL: struct lu_fid { */
-/* IDL: } fid2; */
-/* IDL: struct lustre_handle { */
-/* IDL: } handle; */
-/* IDL: uint64 valid; */
-/* IDL: uint64 size; */
-/* IDL: uint64 mtime; */
-/* IDL: uint64 atime; */
-/* IDL: uint64 ctime; */
-/* IDL: uint64 blocks; */
-/* IDL: uint64 ioepoch; */
-/* IDL: uint64 ino; */
-/* IDL: uint32 fsuid; */
-/* IDL: uint32 fsgid; */
-/* IDL: uint32 capability; */
-/* IDL: uint32 mode; */
-/* IDL: uint32 uid; */
-/* IDL: uint32 gid; */
-/* IDL: uint32 flags; */
-/* IDL: uint32 rdev; */
-/* IDL: uint32 nlink; */
-/* IDL: uint32 generation; */
-/* IDL: uint32 suppgid; */
-/* IDL: uint32 eadatasize; */
-/* IDL: uint32 aclsize; */
-/* IDL: uint32 max_mdsize; */
-/* IDL: uint32 max_cookiesize; */
-/* IDL: uint32 uid_h; */
-/* IDL: uint32 gid_h; */
-/* IDL: uint32 padding_5; */
-/* IDL: uint64 padding_6; */
-/* IDL: uint64 padding_7; */
-/* IDL: uint64 padding_8; */
-/* IDL: uint64 padding_9; */
-/* IDL: uint64 padding_10; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_mdt_body_fid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_body_fid1);
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_fid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_body_fid2);
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_mdt_body_handle);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_body_valid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_body_size);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_mtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- nstime_t ns;
- /* timestamp */
- ns.secs = tvb_get_letohl(tvb,offset);
- ns.nsecs=0;
- proto_tree_add_time(tree, hf_lustre_mdt_body_mtime, tvb, offset, 8, &ns );
- offset+=8;
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_atime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- nstime_t ns;
- /* timestamp */
- ns.secs = tvb_get_letohl(tvb,offset);
- ns.nsecs=0;
- proto_tree_add_time(tree, hf_lustre_mdt_body_atime, tvb, offset, 8, &ns );
- offset+=8;
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_ctime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- nstime_t ns;
- /* timestamp */
- ns.secs = tvb_get_letohl(tvb,offset);
- ns.nsecs=0;
- proto_tree_add_time(tree, hf_lustre_mdt_body_ctime, tvb, offset, 8, &ns );
- offset+=8;
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_blocks(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_body_blocks);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_ioepoch(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_body_ioepoch);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_ino(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_body_ino);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_fsuid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_fsgid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_capability(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_capability);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_mode);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_uid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_uid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_gid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_flags);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_rdev(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_rdev);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_nlink(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_nlink);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_generation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_generation);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_suppgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_suppgid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_eadatasize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_eadatasize);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_aclsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_aclsize);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_max_mdsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_max_mdsize);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_max_cookiesize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_max_cookiesize);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_uid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_uid_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_gid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_gid_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_padding_5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_padding_5);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_padding_6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_body_padding_6);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_padding_7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_body_padding_7);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_padding_8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_body_padding_8);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_padding_9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_body_padding_9);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_body_padding_10(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset= dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_body_padding_10);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_mdt_body(tvbuff_t *tvb _U_, int offset _U_,
- packet_info *pinfo _U_,
- proto_tree *parent_tree _U_,
- int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_mdt_body);
- }
-
- offset=lustre_dissect_element_mdt_body_fid1(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_fid2(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_handle(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_valid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_size(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_mtime(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_atime(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_ctime(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_blocks(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_ioepoch(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_ino(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_fsuid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_fsgid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_capability(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_mode(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_uid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_gid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_flags(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_rdev(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_nlink(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_generation(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_suppgid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_eadatasize(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_aclsize(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_max_mdsize(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_max_cookiesize(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_uid_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_gid_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_padding_5(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_padding_6(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_padding_7(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_padding_8(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_padding_9(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_body_padding_10(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* I don't find where this struct appear on wire.. need to search mdc_setattr_pack() */
-/* IDL: struct mdt_rec_setattr { */
-/* IDL: uint32 sa_opcode; */
-/* IDL: uint32 sa_cap; */
-/* IDL: uint32 sa_fsuid; */
-/* IDL: uint32 sa_fsuid_h; */
-/* IDL: uint32 sa_fsgid; */
-/* IDL: uint32 sa_fsgid_h; */
-/* IDL: uint32 sa_suppgid; */
-/* IDL: uint32 sa_suppgid_h; */
-/* IDL: uint32 sa_padding_1; */
-/* IDL: uint32 sa_padding_1_h; */
-/* IDL: struct lu_fid { */
-/* IDL: } sa_fid; */
-/* IDL: uint64 sa_valid; */
-/* IDL: uint32 sa_uid; */
-/* IDL: uint32 sa_gid; */
-/* IDL: uint64 sa_size; */
-/* IDL: uint64 sa_blocks; */
-/* IDL: uint64 sa_mtime; */
-/* IDL: uint64 sa_atime; */
-/* IDL: uint64 sa_ctime; */
-/* IDL: uint32 sa_attr_flags; */
-/* IDL: uint32 sa_mode; */
-/* IDL: uint32 sa_padding_2; */
-/* IDL: uint32 sa_projid; */
-/* IDL: uint32 sa_padding_4; */
-/* IDL: uint32 sa_padding_5; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_opcode);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_cap);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_fsuid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_fsuid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_fsuid_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_fsgid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_fsgid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_fsgid_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_suppgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_suppgid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_suppgid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_suppgid_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_padding_1);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_padding_1_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_padding_1_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_rec_setattr_sa_fid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_valid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_uid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_uid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_gid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_size);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_blocks(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_blocks);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_mtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
-
- nstime_t ns;
- /* timestamp */
- ns.secs = tvb_get_letohl(tvb,offset);
- ns.nsecs=0;
- proto_tree_add_time(tree, hf_lustre_mdt_rec_setattr_sa_mtime, tvb, offset, 8, &ns );
- offset+=8;
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_atime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- nstime_t ns;
- /* timestamp */
- ns.secs = tvb_get_letohl(tvb,offset);
- ns.nsecs=0;
- proto_tree_add_time(tree, hf_lustre_mdt_rec_setattr_sa_atime, tvb, offset, 8, &ns );
- offset+=8;
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_ctime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- nstime_t ns;
- /* timestamp */
- ns.secs = tvb_get_letohl(tvb,offset);
- ns.nsecs=0;
- proto_tree_add_time(tree, hf_lustre_mdt_rec_setattr_sa_ctime, tvb, offset, 8, &ns );
- offset+=8;
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_attr_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_attr_flags);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_mode);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_padding_2);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_projid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_projid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_padding_4);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setattr_sa_padding_5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_padding_5);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_mdt_rec_setattr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
- guint32 sa_opcode ;
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_mdt_rec_setattr);
- }
- sa_opcode=tvb_get_letohl(tvb,offset);
- display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(sa_opcode, lustre_mds_reint_op_vals, "Unknown sa_opc"));
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_opcode(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_cap(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_fsuid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_fsuid_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_fsgid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_fsgid_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_suppgid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_suppgid_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_padding_1(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_padding_1_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_fid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_valid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_uid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_gid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_size(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_blocks(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_mtime(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_atime(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_ctime(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_attr_flags(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_mode(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_padding_2(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_projid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_padding_4(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setattr_sa_padding_5(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* IDL: struct mdt_rec_create { */
-/* IDL: uint32 cr_opcode; */
-/* IDL: uint32 cr_cap; */
-/* IDL: uint32 cr_fsuid; */
-/* IDL: uint32 cr_fsuid_h; */
-/* IDL: uint32 cr_fsgid; */
-/* IDL: uint32 cr_fsgid_h; */
-/* IDL: uint32 cr_suppgid1; */
-/* IDL: uint32 cr_suppgid1_h; */
-/* IDL: uint32 cr_suppgid2; */
-/* IDL: uint32 cr_suppgid2_h; */
-/* IDL: struct lu_fid { */
-/* IDL: } cr_fid1; */
-/* IDL: struct lu_fid { */
-/* IDL: } cr_fid2; */
-/* IDL: struct lustre_handle { */
-/* IDL: } cr_old_handle; */
-/* IDL: uint64 cr_time; */
-/* IDL: uint64 cr_rdev; */
-/* IDL: uint64 cr_ioepoch; */
-/* IDL: uint64 cr_padding_1; */
-/* IDL: uint32 cr_mode; */
-/* IDL: uint32 cr_bias; */
-/* IDL: uint32 cr_flags_l; */
-/* IDL: uint32 cr_flags_h; */
-/* IDL: uint32 cr_umask; */
-/* IDL: uint32 cr_padding_4; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_mdt_rec_create_cr_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_opcode);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_create_cr_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_cap);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_create_cr_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_fsuid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_create_cr_fsuid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_fsuid_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_create_cr_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_fsgid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_create_cr_fsgid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_fsgid_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_create_cr_suppgid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_suppgid1);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_create_cr_suppgid1_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_suppgid1_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_create_cr_suppgid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_suppgid2);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_create_cr_suppgid2_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_suppgid2_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_create_cr_fid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_rec_create_cr_fid1);
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_create_cr_fid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_rec_create_cr_fid2);
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_create_cr_old_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_mdt_rec_create_cr_old_handle);
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_create_cr_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- nstime_t ns;
- /* timestamp */
- ns.secs = tvb_get_letohl(tvb,offset);
- ns.nsecs=0;
- proto_tree_add_time(tree, hf_lustre_mdt_rec_create_cr_time, tvb, offset, 8, &ns );
- offset+=8;
- return offset;
-
-}
-
-static int
-lustre_dissect_element_mdt_rec_create_cr_rdev(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_rdev);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_create_cr_ioepoch(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_ioepoch);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_create_cr_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_padding_1);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_create_cr_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_mode);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_create_cr_bias(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_bias);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_create_cr_flags_l(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_flags_l);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_create_cr_flags_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_flags_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_create_cr_umask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_umask);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_create_cr_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_padding_4);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_mdt_rec_create(tvbuff_t *tvb _U_, int offset _U_,
- packet_info *pinfo _U_,
- proto_tree *parent_tree _U_,
- int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
- guint32 cr_opcode ;
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_mdt_rec_create);
- }
- cr_opcode=tvb_get_letohl(tvb,offset);
- display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(cr_opcode, lustre_mds_reint_op_vals, "Unknown cr_opc"));
-
- offset=lustre_dissect_element_mdt_rec_create_cr_opcode(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_create_cr_cap(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_create_cr_fsuid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_create_cr_fsuid_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_create_cr_fsgid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_create_cr_fsgid_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_create_cr_suppgid1(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_create_cr_suppgid1_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_create_cr_suppgid2(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_create_cr_suppgid2_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_create_cr_fid1(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_create_cr_fid2(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_create_cr_old_handle(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_create_cr_time(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_create_cr_rdev(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_create_cr_ioepoch(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_create_cr_padding_1(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_create_cr_mode(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_create_cr_bias(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_create_cr_flags_l(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_create_cr_flags_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_create_cr_umask(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_create_cr_padding_4(tvb, offset, pinfo, tree);
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* TODO : find where this structure appear ! */
-/* IDL: struct mdt_rec_link { */
-/* IDL: uint32 lk_opcode; */
-/* IDL: uint32 lk_cap; */
-/* IDL: uint32 lk_fsuid; */
-/* IDL: uint32 lk_fsuid_h; */
-/* IDL: uint32 lk_fsgid; */
-/* IDL: uint32 lk_fsgid_h; */
-/* IDL: uint32 lk_suppgid1; */
-/* IDL: uint32 lk_suppgid1_h; */
-/* IDL: uint32 lk_suppgid2; */
-/* IDL: uint32 lk_suppgid2_h; */
-/* IDL: struct lu_fid { */
-/* IDL: } lk_fid1; */
-/* IDL: struct lu_fid { */
-/* IDL: } lk_fid2; */
-/* IDL: uint64 lk_time; */
-/* IDL: uint64 lk_padding_1; */
-/* IDL: uint64 lk_padding_2; */
-/* IDL: uint64 lk_padding_3; */
-/* IDL: uint64 lk_padding_4; */
-/* IDL: uint32 lk_bias; */
-/* IDL: uint32 lk_padding_5; */
-/* IDL: uint32 lk_padding_6; */
-/* IDL: uint32 lk_padding_7; */
-/* IDL: uint32 lk_padding_8; */
-/* IDL: uint32 lk_padding_9; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_mdt_rec_link_lk_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_opcode);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_link_lk_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_cap);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_link_lk_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_fsuid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_link_lk_fsuid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_fsuid_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_link_lk_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_fsgid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_link_lk_fsgid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_fsgid_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_link_lk_suppgid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_suppgid1);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_link_lk_suppgid1_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_suppgid1_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_link_lk_suppgid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_suppgid2);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_link_lk_suppgid2_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_suppgid2_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_link_lk_fid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_rec_link_lk_fid1);
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_link_lk_fid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_rec_link_lk_fid2);
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_link_lk_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- nstime_t ns;
- /* timestamp */
- ns.secs = tvb_get_letohl(tvb,offset);
- ns.nsecs=0;
- proto_tree_add_time(tree, hf_lustre_mdt_rec_link_lk_time, tvb, offset, 8, &ns );
- offset+=8;
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_link_lk_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_padding_1);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_link_lk_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_padding_2);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_link_lk_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_padding_3);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_link_lk_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_padding_4);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_link_lk_bias(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_bias);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_link_lk_padding_5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_padding_5);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_link_lk_padding_6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_padding_6);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_link_lk_padding_7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_padding_7);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_link_lk_padding_8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_padding_8);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_link_lk_padding_9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_padding_9);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_mdt_rec_link(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
- guint32 lk_opcode ;
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_mdt_rec_link);
- }
- lk_opcode=tvb_get_letohl(tvb,offset);
- display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(lk_opcode, lustre_mds_reint_op_vals, "Unknown lk_opc"));
-
- offset=lustre_dissect_element_mdt_rec_link_lk_opcode(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_link_lk_cap(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_link_lk_fsuid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_link_lk_fsuid_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_link_lk_fsgid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_link_lk_fsgid_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_link_lk_suppgid1(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_link_lk_suppgid1_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_link_lk_suppgid2(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_link_lk_suppgid2_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_link_lk_fid1(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_link_lk_fid2(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_link_lk_time(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_link_lk_padding_1(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_link_lk_padding_2(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_link_lk_padding_3(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_link_lk_padding_4(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_link_lk_bias(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_link_lk_padding_5(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_link_lk_padding_6(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_link_lk_padding_7(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_link_lk_padding_8(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_link_lk_padding_9(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* IDL: struct mdt_rec_unlink { */
-/* IDL: uint32 ul_opcode; */
-/* IDL: uint32 ul_cap; */
-/* IDL: uint32 ul_fsuid; */
-/* IDL: uint32 ul_fsuid_h; */
-/* IDL: uint32 ul_fsgid; */
-/* IDL: uint32 ul_fsgid_h; */
-/* IDL: uint32 ul_suppgid1; */
-/* IDL: uint32 ul_suppgid1_h; */
-/* IDL: uint32 ul_suppgid2; */
-/* IDL: uint32 ul_suppgid2_h; */
-/* IDL: struct lu_fid { */
-/* IDL: } ul_fid1; */
-/* IDL: struct lu_fid { */
-/* IDL: } ul_fid2; */
-/* IDL: uint64 ul_time; */
-/* IDL: uint64 ul_padding_2; */
-/* IDL: uint64 ul_padding_3; */
-/* IDL: uint64 ul_padding_4; */
-/* IDL: uint64 ul_padding_5; */
-/* IDL: uint32 ul_bias; */
-/* IDL: uint32 ul_mode; */
-/* IDL: uint32 ul_padding_6; */
-/* IDL: uint32 ul_padding_7; */
-/* IDL: uint32 ul_padding_8; */
-/* IDL: uint32 ul_padding_9; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_mdt_rec_unlink_ul_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_opcode);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_unlink_ul_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_cap);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_unlink_ul_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_fsuid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_unlink_ul_fsuid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_fsuid_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_unlink_ul_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_fsgid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_unlink_ul_fsgid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_fsgid_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_unlink_ul_suppgid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_suppgid1);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_unlink_ul_suppgid1_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_suppgid1_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_unlink_ul_suppgid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_suppgid2);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_unlink_ul_suppgid2_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_suppgid2_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_unlink_ul_fid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_rec_unlink_ul_fid1);
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_unlink_ul_fid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_rec_unlink_ul_fid2);
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_unlink_ul_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- nstime_t ns;
- /* timestamp */
- ns.secs = tvb_get_letohl(tvb,offset);
- ns.nsecs=0;
- proto_tree_add_time(tree,hf_lustre_mdt_rec_unlink_ul_time , tvb, offset, 8, &ns );
- offset+=8;
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_unlink_ul_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_padding_2);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_unlink_ul_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_padding_3);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_unlink_ul_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_padding_4);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_unlink_ul_padding_5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_padding_5);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_unlink_ul_bias(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_bias);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_unlink_ul_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_mode);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_unlink_ul_padding_6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_padding_6);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_unlink_ul_padding_7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_padding_7);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_unlink_ul_padding_8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_padding_8);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_unlink_ul_padding_9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_padding_9);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_mdt_rec_unlink(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
- guint32 ul_opcode ;
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_mdt_rec_unlink);
- }
-
- ul_opcode=tvb_get_letohl(tvb,offset);
- display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(ul_opcode, lustre_mds_reint_op_vals, "Unknown ul_opc"));
-
- offset=lustre_dissect_element_mdt_rec_unlink_ul_opcode(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_unlink_ul_cap(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_unlink_ul_fsuid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_unlink_ul_fsuid_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_unlink_ul_fsgid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_unlink_ul_fsgid_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_unlink_ul_suppgid1(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_unlink_ul_suppgid1_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_unlink_ul_suppgid2(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_unlink_ul_suppgid2_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_unlink_ul_fid1(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_unlink_ul_fid2(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_unlink_ul_time(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_unlink_ul_padding_2(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_unlink_ul_padding_3(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_unlink_ul_padding_4(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_unlink_ul_padding_5(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_unlink_ul_bias(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_unlink_ul_mode(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_unlink_ul_padding_6(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_unlink_ul_padding_7(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_unlink_ul_padding_8(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_unlink_ul_padding_9(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* IDL: struct mdt_rec_rename { */
-/* IDL: uint32 rn_opcode; */
-/* IDL: uint32 rn_fsuid; */
-/* IDL: uint32 rn_fsgid; */
-/* IDL: uint32 rn_cap; */
-/* IDL: uint32 rn_suppgid1; */
-/* IDL: uint32 rn_suppgid2; */
-/* IDL: struct ll_fid { */
-/* IDL: } rn_fid1; */
-/* IDL: struct ll_fid { */
-/* IDL: } rn_fid2; */
-/* IDL: uint64 rn_time; */
-/* IDL: uint32 rn_padding_1; */
-/* IDL: uint32 rn_padding_2; */
-/* IDL: uint32 rn_padding_3; */
-/* IDL: uint32 rn_padding_4; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_mdt_rec_rename_rn_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_opcode);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_rename_rn_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_cap);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_rename_rn_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_fsuid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_rename_rn_fsuid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_fsuid_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_rename_rn_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_fsgid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_rename_rn_fsgid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_fsgid_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_rename_rn_suppgid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_suppgid1);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_rename_rn_suppgid1_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_suppgid1_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_rename_rn_suppgid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_suppgid2);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_rename_rn_suppgid2_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_suppgid2_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_rename_rn_fid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_rec_rename_rn_fid1);
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_rename_rn_fid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_rec_rename_rn_fid2);
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_rename_rn_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- nstime_t ns;
- /* timestamp */
- ns.secs = tvb_get_letohl(tvb,offset);
- ns.nsecs=0;
- proto_tree_add_time(tree, hf_lustre_mdt_rec_rename_rn_time, tvb, offset, 8, &ns );
- offset+=8;
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_rename_rn_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_padding_1);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_rename_rn_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_padding_2);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_rename_rn_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_padding_3);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_rename_rn_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_padding_4);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_rename_rn_bias(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_bias);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_rename_rn_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_mode);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_rename_rn_padding_5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_padding_5);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_rename_rn_padding_6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_padding_6);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_rename_rn_padding_7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_padding_7);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_rename_rn_padding_8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_padding_8);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_mdt_rec_rename(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
- guint32 rn_opcode ;
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_mdt_rec_rename);
- }
-
- rn_opcode=tvb_get_letohl(tvb,offset);
- display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(rn_opcode, lustre_mds_reint_op_vals, "Unknown rn_opc"));
-
- offset=lustre_dissect_element_mdt_rec_rename_rn_opcode(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_rename_rn_cap(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_rename_rn_fsuid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_rename_rn_fsuid_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_rename_rn_fsgid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_rename_rn_fsgid_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_rename_rn_suppgid1(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_rename_rn_suppgid1_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_rename_rn_suppgid2(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_rename_rn_suppgid2_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_rename_rn_fid1(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_rename_rn_fid2(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_rename_rn_time(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_rename_rn_padding_1(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_rename_rn_padding_2(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_rename_rn_padding_3(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_rename_rn_padding_4(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_rename_rn_bias(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_rename_rn_mode(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_rename_rn_padding_5(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_rename_rn_padding_6(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_rename_rn_padding_7(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_rename_rn_padding_8(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* I don't find where this struct appear on wire.. need to search mdc_setxattr_pack() */
-/* IDL: struct mdt_rec_setxattr { */
-/* IDL: uint32 sx_opcode; */
-/* IDL: uint32 sx_cap; */
-/* IDL: uint32 sx_fsuid; */
-/* IDL: uint32 sx_fsuid_h; */
-/* IDL: uint32 sx_fsgid; */
-/* IDL: uint32 sx_fsgid_h; */
-/* IDL: uint32 sx_suppgid1; */
-/* IDL: uint32 sx_suppgid1_h; */
-/* IDL: uint32 sx_suppgid2; */
-/* IDL: uint32 sx_suppgid2_h; */
-/* IDL: struct lu_fid { */
-/* IDL: } sx_fid; */
-/* IDL: uint64 sx_padding_1; */
-/* IDL: uint32 sx_padding_2; */
-/* IDL: uint32 sx_padding_3; */
-/* IDL: uint64 sx_valid; */
-/* IDL: uint64 sx_time; */
-/* IDL: uint64 sx_padding_5; */
-/* IDL: uint64 sx_padding_6; */
-/* IDL: uint64 sx_padding_7; */
-/* IDL: uint32 sx_size; */
-/* IDL: uint32 sx_flags; */
-/* IDL: uint32 sx_padding_8; */
-/* IDL: uint32 sx_padding_9; */
-/* IDL: uint32 sx_padding_10; */
-/* IDL: uint32 sx_padding_11; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_opcode);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_cap);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_fsuid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_fsuid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_fsuid_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_fsgid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_fsgid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_fsgid_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_suppgid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_suppgid1);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_suppgid1_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_suppgid1_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_suppgid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_suppgid2);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_suppgid2_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_suppgid2_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_rec_setxattr_sx_fid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_padding_1);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_padding_2);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_padding_3);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_valid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
-
- nstime_t ns;
- /* timestamp */
- ns.secs = tvb_get_letohl(tvb,offset);
- ns.nsecs=0;
- proto_tree_add_time(tree, hf_lustre_mdt_rec_setxattr_sx_time, tvb, offset, 8, &ns );
- offset+=8;
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_padding_5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_padding_5);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_padding_6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_padding_6);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_padding_7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_padding_7);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_size);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_flags);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_padding_8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_padding_8);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_padding_9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_padding_9);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_padding_10(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_padding_10);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mdt_rec_setxattr_sx_padding_11(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_padding_11);
-
- return offset;
-}
-
-int
- lustre_dissect_struct_mdt_rec_setxattr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
- guint32 sx_opcode ;
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_mdt_rec_setxattr);
- }
- sx_opcode=tvb_get_letohl(tvb,offset);
- display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(sx_opcode, lustre_mds_reint_op_vals, "Unknown sx_opc"));
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_opcode(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_cap(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_fsuid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_fsuid_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_fsgid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_fsgid_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_suppgid1(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_suppgid1_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_suppgid2(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_suppgid2_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_fid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_padding_1(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_padding_2(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_padding_3(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_valid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_time(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_padding_5(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_padding_6(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_padding_7(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_size(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_flags(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_padding_8(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_padding_9(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_padding_10(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mdt_rec_setxattr_sx_padding_11(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-
-/* TODO : find where this structure appear */
-
-/* IDL: struct lov_desc { */
-/* IDL: uint32 ld_tgt_count; */
-/* IDL: uint32 ld_active_tgt_count; */
-/* IDL: uint32 ld_default_stripe_count; */
-/* IDL: uint32 ld_pattern; */
-/* IDL: uint64 ld_default_stripe_size; */
-/* IDL: uint64 ld_default_stripe_offset; */
-/* IDL: uint32 ld_padding_0; */
-/* IDL: uint32 ld_qos_maxage; */
-/* IDL: uint32 ld_padding_1; */
-/* IDL: uint32 ld_padding_2; */
-/* IDL: struct obd_uuid { */
-/* IDL: } ld_uuid; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_lov_desc_ld_tgt_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_tgt_count);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_lov_desc_ld_active_tgt_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_active_tgt_count);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_lov_desc_ld_default_stripe_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_default_stripe_count);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_lov_desc_ld_pattern(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_pattern);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_lov_desc_ld_default_stripe_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_default_stripe_size);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_lov_desc_ld_default_stripe_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_default_stripe_offset);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_lov_desc_ld_padding_0(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_padding_0);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_lov_desc_ld_qos_maxage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_qos_maxage);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_lov_desc_ld_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_padding_1);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_lov_desc_ld_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_padding_2);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_lov_desc_ld_uuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- //offset=lustre_dissect_struct_HASH(0x85bade8)(tvb,offset,pinfo,tree,hf_lustre_lov_desc_ld_uuid);
- return offset;
-}
-
-int
-lustre_dissect_struct_lov_desc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_lov_desc);
- }
-
- offset=lustre_dissect_element_lov_desc_ld_tgt_count(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_lov_desc_ld_active_tgt_count(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_lov_desc_ld_default_stripe_count(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_lov_desc_ld_pattern(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_lov_desc_ld_default_stripe_size(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_lov_desc_ld_default_stripe_offset(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_lov_desc_ld_padding_0(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_lov_desc_ld_qos_maxage(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_lov_desc_ld_padding_1(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_lov_desc_ld_padding_2(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_lov_desc_ld_uuid(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* IDL: struct obd_uuid { */
-/* char uuid[40]; */
-/* IDL: } */
-
-static int
-lustre_dissect_struct_obd_uuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- /* the lenght of the string is 40 bytes max, with \0 inside */
- proto_tree_add_item(parent_tree, hf_index, tvb, offset, 40, TRUE);
-
- offset+=40;
- return offset;
-}
-
-/* IDL: struct ldlm_res_id { */
-/* IDL: uint64 name[4]; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_ldlm_res_id_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_res_id_name);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ldlm_res_id_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- int i;
- for (i = 0; i < 4; i++)
- offset=lustre_dissect_element_ldlm_res_id_name_(tvb, offset, pinfo, tree);
-
- return offset;
-}
-
-
-
-int
-lustre_dissect_struct_ldlm_res_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_ldlm_res_id);
- }
-
- offset=lustre_dissect_element_ldlm_res_id_name(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-
-/* IDL: enum { */
-/* IDL: LCK_MINMODE=0, */
-/* IDL: LCK_EX=1, */
-/* IDL: LCK_PW=2, */
-/* IDL: LCK_PR=4, */
-/* IDL: LCK_CW=8, */
-/* IDL: LCK_CR=16, */
-/* IDL: LCK_NL=32, */
-/* IDL: LCK_GROUP=64, */
-/* IDL: LCK_MAXMODE, */
-/* IDL: } */
-
-int
-lustre_dissect_enum_ldlm_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_index);
- return offset;
-}
-
-
-/* IDL: enum { */
-/* IDL: LDLM_PLAIN=10, */
-/* IDL: LDLM_EXTENT=11, */
-/* IDL: LDLM_FLOCK=12, */
-/* IDL: LDLM_IBITS=13, */
-/* IDL: LDLM_MAX_TYPE, */
-/* IDL: } */
-
-int
-lustre_dissect_enum_ldlm_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_resource_desc_lr_type );
- return offset;
-}
-
-/* IDL: struct ldlm_extent { */
-/* IDL: uint64 start; */
-/* IDL: uint64 end; */
-/* IDL: uint64 gid; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_ldlm_extent_start(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_extent_start);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ldlm_extent_end(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_extent_end);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ldlm_extent_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_extent_gid);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_ldlm_extent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_ldlm_extent);
- }
-
- offset=lustre_dissect_element_ldlm_extent_start(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ldlm_extent_end(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ldlm_extent_gid(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* IDL: struct ldlm_inodebits { */
-/* IDL: uint64 bits; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_ldlm_inodebits_bits(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_inodebits_bits);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_ldlm_inodebits(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_ldlm_inodebits);
- }
-
- offset=lustre_dissect_element_ldlm_inodebits_bits(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* IDL: struct ldlm_flock { */
-/* IDL: uint64 start; */
-/* IDL: uint64 end; */
-/* IDL: uint64 blocking_export; */
-/* IDL: uint32 blocking_pid; */
-/* IDL: uint32 pid; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_ldlm_flock_start(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_start);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ldlm_flock_end(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_end);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ldlm_flock_blocking_export(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_blocking_export);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ldlm_flock_blocking_pid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_blocking_pid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ldlm_flock_pid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_pid);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_ldlm_flock(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_ldlm_flock);
- }
-
- offset=lustre_dissect_element_ldlm_flock_start(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ldlm_flock_end(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ldlm_flock_blocking_export(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ldlm_flock_blocking_pid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ldlm_flock_pid(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* IDL: struct ldlm_intent { */
-/* IDL: uint64 opc; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_ldlm_intent_opc(tvbuff_t *tvb _U_, int offset _U_,
- packet_info *pinfo _U_,
- proto_tree *tree _U_)
-{
- guint32 opcode;
- /* this opcode is like a flag*/
-#define DOBIT(_hf) dissect_uint32(tvb, offset, pinfo, tree, (_hf))
- DOBIT(hf_lustre_ldlm_intent_opc_open );
- DOBIT(hf_lustre_ldlm_intent_opc_creat );
- DOBIT(hf_lustre_ldlm_intent_opc_readdir );
- DOBIT(hf_lustre_ldlm_intent_opc_getattr );
- DOBIT(hf_lustre_ldlm_intent_opc_lookup );
- DOBIT(hf_lustre_ldlm_intent_opc_unlink );
- DOBIT(hf_lustre_ldlm_intent_opc_getxattr);
- DOBIT(hf_lustre_ldlm_intent_opc_exec );
- DOBIT(hf_lustre_ldlm_intent_opc_pin );
- DOBIT(hf_lustre_ldlm_intent_opc_layout );
- DOBIT(hf_lustre_ldlm_intent_opc_q_dqacq );
- DOBIT(hf_lustre_ldlm_intent_opc_q_conn );
- DOBIT(hf_lustre_ldlm_intent_opc_setxattr);
-#undef DOBIT
- opcode = tvb_get_letohl(tvb,offset);
-
- display_info_str(tree->parent, pinfo->cinfo, COL_INFO, "[ intent :");
- if(opcode & IT_OPEN ){
- display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " open");
- proto_item_append_text(tree, " open" );
- }
- if(opcode & IT_CREAT ){
- display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " create");
- proto_item_append_text(tree, " create" );
- }
- if(opcode & IT_READDIR ){
- display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " readdir");
- proto_item_append_text(tree, " readdir" );
- }
- if(opcode & IT_GETATTR ){
- display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " getattr");
- proto_item_append_text(tree, " getattr" );
- }
- if(opcode & IT_LOOKUP ){
- display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " lookup");
- proto_item_append_text(tree, " lookup" );
- }
- if(opcode & IT_UNLINK ){
- display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " unlink");
- proto_item_append_text(tree, " unlink" );
- }
- if(opcode & IT_TRUNC ){
- display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " trunc");
- proto_item_append_text(tree, " trunc" );
- }
- if(opcode & IT_GETXATTR){
- display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " getxattr");
- proto_item_append_text(tree, " getxattr" );
- }
- if(opcode & IT_EXEC ){
- display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " exec");
- proto_item_append_text(tree, " exec" );
- }
- if(opcode & IT_PIN ){
- display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " pin");
- proto_item_append_text(tree, " pin" );
- }
- if(opcode & IT_LAYOUT ){
- display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " layout");
- proto_item_append_text(tree, " layout" );
- }
- if(opcode & IT_QUOTA_DQACQ ){
- display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " quota_dqacq");
- proto_item_append_text(tree, " quota_dqacq" );
- }
- if(opcode & IT_QUOTA_CONN ){
- display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " quota_conn");
- proto_item_append_text(tree, " quota_conn" );
- }
- if(opcode & IT_SETXATTR ){
- display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " setxattr");
- proto_item_append_text(tree, " setxattr" );
- }
-
- display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " ]");
- offset+=8;
- return offset;
-}
-
-int
-lustre_dissect_struct_ldlm_intent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- guint64 intent_opc;
- proto_item * opcode_item = NULL;
- proto_tree * opcode_tree = NULL;
-
- intent_opc = tvb_get_letoh64(tvb,offset);
- if (parent_tree){
- opcode_item = proto_tree_add_item(parent_tree, hf_lustre_ldlm_intent_opc, tvb, offset, 8, TRUE);
- opcode_tree = proto_item_add_subtree(opcode_item, ett_lustre_ldlm_intent_opc);
- }
-
- offset=lustre_dissect_element_ldlm_intent_opc(tvb, offset, pinfo, opcode_tree);
-
- offset=ldlm_opcode_process(tvb, offset, pinfo, parent_tree, intent_opc);
-
- return offset;
-}
-
-/* IDL: struct ldlm_resource_desc { */
-/* IDL: enum ldlm_type lr_type; */
-/* IDL: uint32 lr_padding; */
-/* IDL: struct ldlm_res_id { */
-/* IDL: } lr_name; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_ldlm_resource_desc_lr_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- /* offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_resource_desc_lr_type);*/
- offset=lustre_dissect_enum_ldlm_type(tvb, offset, pinfo, tree, hf_lustre_ldlm_resource_desc_lr_type);
- return offset;
-}
-
-static int
-lustre_dissect_element_ldlm_resource_desc_lr_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_resource_desc_lr_padding);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ldlm_resource_desc_lr_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_ldlm_res_id(tvb,offset,pinfo,tree,hf_lustre_ldlm_resource_desc_lr_name);
- return offset;
-}
-
-int
-lustre_dissect_struct_ldlm_resource_desc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_ldlm_resource_desc);
- }
-
- offset=lustre_dissect_element_ldlm_resource_desc_lr_type(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ldlm_resource_desc_lr_padding(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ldlm_resource_desc_lr_name(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-
-/* IDL: struct ldlm_lock_desc { */
-/* IDL: struct ldlm_resource_desc { */
-/* IDL: } l_resource; */
-/* IDL: enum ldlm_mode l_req_mode; */
-/* IDL: enum ldlm_mode l_granted_mode; */
-/* IDL: union ldlm_policy_data l_policy_data; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_ldlm_lock_desc_l_resource(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_ldlm_resource_desc(tvb,offset,pinfo,tree,hf_lustre_ldlm_lock_desc_l_resource);
- return offset;
-}
-
-static int
-lustre_dissect_element_ldlm_lock_desc_l_req_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_enum_ldlm_mode(tvb, offset, pinfo, tree, hf_lustre_ldlm_lock_desc_l_req_mode);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ldlm_lock_desc_l_granted_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_enum_ldlm_mode(tvb, offset, pinfo, tree, hf_lustre_ldlm_lock_desc_l_granted_mode);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ldlm_lock_desc_l_policy_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
-
- guint32 lr_type; /* type of the lock */
-
- lr_type = tvb_get_letohl(tvb,offset - 48 ); /* TODO : find another way that using -48 */
-
- /* this section must be check with lustre code, possible mistake here */
- switch(lr_type){
- case LDLM_PLAIN:
- case LDLM_FLOCK:
- offset=lustre_dissect_struct_ldlm_flock(tvb,offset,pinfo,tree,hf_lustre_ldlm_lock_desc_l_policy_data);
- break;
- case LDLM_EXTENT :
- offset= lustre_dissect_struct_ldlm_extent(tvb,offset,pinfo,tree,hf_lustre_ldlm_lock_desc_l_policy_data);
- /* add an extra padding 8 bytes */
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
- break;
- case LDLM_IBITS:
- offset=lustre_dissect_struct_ldlm_inodebits(tvb,offset,pinfo,tree,hf_lustre_ldlm_lock_desc_l_policy_data);
- /* add an extra padding 24 bytes */
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
- break;
- default:
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
- break;
- }
- return offset;
-}
-
-int
-lustre_dissect_struct_ldlm_lock_desc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
- guint32 lock_req_mode;
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_ldlm_lock_desc);
- }
-
- offset=lustre_dissect_element_ldlm_lock_desc_l_resource(tvb, offset, pinfo, tree);
-
- lock_req_mode = tvb_get_letohl(tvb,offset);
-
- display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(lock_req_mode, lustre_ldlm_mode_vals, "Unknown lock"));
-
- offset=lustre_dissect_element_ldlm_lock_desc_l_req_mode(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ldlm_lock_desc_l_granted_mode(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ldlm_lock_desc_l_policy_data(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-
-/* IDL: struct ldlm_request { */
-/* IDL: uint32 lock_flags; */
-/* IDL: uint32 lock_count; */
-/* IDL: struct ldlm_lock_desc { */
-/* IDL: } lock_desc; */
-/* IDL: struct lustre_handle { */
-/* IDL: } lock_handle[2]; */
-/* IDL: } */
-
-
-
-static int
-lustre_dissect_element_ldlm_request_lock_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_request_lock_count);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ldlm_request_lock_desc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_ldlm_lock_desc(tvb,offset,pinfo,tree,hf_lustre_ldlm_request_lock_desc);
- return offset;
-}
-
-
-
-static int
-lustre_dissect_element_ldlm_request_lock_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- /* col_append_fstr(pinfo->cinfo, COL_INFO, " ldlm cookie : %" G_GINT64_MODIFIER "u", tvb_get_letoh64(tvb,offset) );*/
-
- offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_ldlm_request_lock_handle);
- return offset;
-}
-
-static int
-lustre_dissect_element_ldlm_request_lock_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int num_locks _U_)
-{
- int i;
- if (num_locks < 2)
- num_locks = 2;
- for (i = 0; i < num_locks; i++)
- offset=lustre_dissect_element_ldlm_request_lock_handle_(tvb, offset, pinfo, tree);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_ldlm_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
- /* guint32 lock_flag; */
- /* guint32 ldlm_type; */
- guint32 num_locks = 2;
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_ldlm_request);
- }
-
- /* lock_flag = tvb_get_letohl(tvb,offset); */
- offset=lustre_dissect_element_ldlm_lock_flags(tvb, offset, pinfo, tree,
- hf_lustre_ldlm_request_lock_flags);
-
- num_locks = tvb_get_letohl(tvb,offset);
- offset=lustre_dissect_element_ldlm_request_lock_count(tvb, offset, pinfo, tree);
-
- /* ldlm_type = (EXTENT, PLAIN, ou IBITS) */
- /* ldlm_type = tvb_get_letohl(tvb,offset); */
- offset=lustre_dissect_element_ldlm_request_lock_desc(tvb, offset, pinfo, tree);
- offset=lustre_dissect_element_ldlm_request_lock_handle(tvb, offset, pinfo, tree, num_locks);
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ldlm_reply_lock_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply_lock_padding);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ldlm_reply_lock_desc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_ldlm_lock_desc(tvb,offset,pinfo,tree,hf_lustre_ldlm_reply_lock_desc);
- return offset;
-}
-
-static int
-lustre_dissect_element_ldlm_reply_lock_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- /* col_append_fstr(pinfo->cinfo, COL_INFO, " ldlm cookie : %" G_GINT64_MODIFIER "u", tvb_get_letoh64(tvb,offset) );*/
-
- offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_ldlm_reply_lock_handle);
- return offset;
-}
-
-static int
-lustre_dissect_element_ldlm_reply_lock_policy_res1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply_lock_policy_res1);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ldlm_reply_lock_policy_res2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply_lock_policy_res2);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_ldlm_reply(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_, guint32 * ldlm_type _U_ )
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
- /* guint32 lock_flag; */
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_ldlm_reply);
- }
-
- /* lock_flag = tvb_get_letohl(tvb,offset); */
- offset=lustre_dissect_element_ldlm_lock_flags(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply_lock_flags);
-
- offset=lustre_dissect_element_ldlm_reply_lock_padding(tvb, offset, pinfo, tree);
-
- if (ldlm_type != NULL)
- *ldlm_type = tvb_get_letohl(tvb,offset);
- offset=lustre_dissect_element_ldlm_reply_lock_desc(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ldlm_reply_lock_handle(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ldlm_reply_lock_policy_res1(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ldlm_reply_lock_policy_res2(tvb, offset, pinfo, tree);
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-
-
-
-/* IDL: struct mgs_send_param { */
-/* IDL: uint8 mgs_param[1024]; */
-/* IDL: } */
-
-
-
-static int
-lustre_dissect_element_mgs_send_param_mgs_param_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_send_param_mgs_param);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mgs_send_param_mgs_param(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- int i;
- for (i = 0; i < 1024; i++)
- offset=lustre_dissect_element_mgs_send_param_mgs_param_(tvb, offset, pinfo, tree);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_mgs_send_param(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_mgs_send_param);
- }
-
- offset=lustre_dissect_element_mgs_send_param_mgs_param(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* IDL: struct mgs_config_body {
- * IDL: char mcb_name[64];
- * IDL: __u64 mcb_offset;
- * IDL: __u16 mcb_type;
- * IDL: __u8 mcb_reserved;
- * IDL: __u8 mcb_bits;
- * IDL: __u32 mcb_units;
- * IDL: };
- */
-int
-lustre_dissect_element_mgs_config_body_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- int string_len = 64;
- proto_tree_add_item(parent_tree, hf_index, tvb,
- offset, string_len, TRUE);
-#ifdef WIRESHARK_COMPAT
- display_info_fstr(parent_tree, pinfo->cinfo, COL_INFO, " name : %s",
- (const gchar *)tvb_get_string(tvb, offset,
- string_len));
-#else
- display_info_fstr(parent_tree, pinfo->cinfo, COL_INFO, " name : %s",
- (const gchar *)tvb_get_string_enc(wmem_packet_scope(),
- tvb, offset,
- string_len,
- ENC_ASCII));
-#endif
- offset += string_len;
-
- return offset;
-}
-
-int
-lustre_dissect_struct_mgs_config_body(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
- old_offset = offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb,
- offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_mgs_config_body);
- }
-
- offset = lustre_dissect_element_mgs_config_body_name(tvb, offset, pinfo,
- tree, hf_lustre_mgs_config_body_name);
-
- offset = dissect_uint64(tvb, offset, pinfo, tree,
- hf_lustre_mgs_config_body_offset);
- offset = dissect_uint16(tvb, offset, pinfo, tree,
- hf_lustre_mgs_config_body_type);
- offset = dissect_uint8(tvb, offset, pinfo, tree,
- hf_lustre_mgs_config_body_reserved);
- offset = dissect_uint8(tvb, offset, pinfo, tree,
- hf_lustre_mgs_config_body_bits);
- offset = dissect_uint32(tvb, offset, pinfo, tree,
- hf_lustre_mgs_config_body_units);
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* IDL: struct mgs_config_res {
- * IDL: __u64 mcr_offset;
- * IDL: __u64 mcr_size;
- * IDL: };
- */
-int
-lustre_dissect_struct_mgs_config_res(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_mgs_config_res);
- }
-
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mgs_config_res_offset);
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mgs_config_res_size);
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-
-/* IDL: struct mgs_target_info { */
-/* IDL: uint32 mti_lustre_ver; */
-/* IDL: uint32 mti_stripe_index; */
-/* IDL: uint32 mti_config_ver; */
-/* IDL: uint32 mti_flags; */
-/* IDL: uint32 mti_nid_count; */
-/* IDL: uint32 padding; */
-/* IDL: uint8 mti_fsname[64]; */
-/* IDL: uint8 mti_svname[64]; */
-/* IDL: uint8 mti_uuid[40]; */
-/* IDL: uint64 mti_nids[32]; */
-/* IDL: uint8 mti_params[4096]; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_mgs_target_info_mti_lustre_ver(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_lustre_ver);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mgs_target_info_mti_stripe_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_stripe_index);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mgs_target_info_mti_config_ver(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_config_ver);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mgs_target_info_mti_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_flags);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mgs_target_info_mti_nid_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_nid_count);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mgs_target_info_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_padding);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mgs_target_info_mti_fsname_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_fsname);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mgs_target_info_mti_fsname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- int i;
- for (i = 0; i < 64; i++)
- offset=lustre_dissect_element_mgs_target_info_mti_fsname_(tvb, offset, pinfo, tree);
-
- return offset;
-}
-
-
-
-
-
-static int
-lustre_dissect_element_mgs_target_info_mti_svname_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_svname);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mgs_target_info_mti_svname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- int i;
- for (i = 0; i < 64; i++)
- offset=lustre_dissect_element_mgs_target_info_mti_svname_(tvb, offset, pinfo, tree);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mgs_target_info_mti_uuid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_uuid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mgs_target_info_mti_uuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- int i;
- for (i = 0; i < 40; i++)
- offset=lustre_dissect_element_mgs_target_info_mti_uuid_(tvb, offset, pinfo, tree);
-
- return offset;
-}
-
-
-
-
-
-static int
-lustre_dissect_element_mgs_target_info_mti_nids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_nids);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mgs_target_info_mti_nids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- int i;
- for (i = 0; i < 32; i++)
- offset=lustre_dissect_element_mgs_target_info_mti_nids_(tvb, offset, pinfo, tree);
-
- return offset;
-}
-
-
-
-static int
-lustre_dissect_element_mgs_target_info_mti_params_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_params);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mgs_target_info_mti_params(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- int i;
- for (i = 0; i < 4096; i++)
- offset=lustre_dissect_element_mgs_target_info_mti_params_(tvb, offset, pinfo, tree);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_mgs_target_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_mgs_target_info);
- }
-
- offset=lustre_dissect_element_mgs_target_info_mti_lustre_ver(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mgs_target_info_mti_stripe_index(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mgs_target_info_mti_config_ver(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mgs_target_info_mti_flags(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mgs_target_info_mti_nid_count(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mgs_target_info_padding(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mgs_target_info_mti_fsname(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mgs_target_info_mti_svname(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mgs_target_info_mti_uuid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mgs_target_info_mti_nids(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_mgs_target_info_mti_params(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* IDL: struct cfg_marker { */
-/* IDL: uint32 cm_step; */
-/* IDL: uint32 cm_flags; */
-/* IDL: uint32 cm_vers; */
-/* IDL: uint32 padding; */
-/* IDL: time_t cm_createtime; */
-/* IDL: time_t cm_canceltime; */
-/* IDL: uint8 cm_tgtname[64]; */
-/* IDL: uint8 cm_comment[64]; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_cfg_marker_cm_step(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_step);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_cfg_marker_cm_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_flags);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_cfg_marker_cm_vers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_vers);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_cfg_marker_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_padding);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_cfg_marker_cm_createtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- //offset=dissect_ndr_time_t(tvb, offset, pinfo,tree, hf_lustre_cfg_marker_cm_createtime );
- /*g_print("function lustre_dissect_element_cfg_marker_cm_createtime don't work\n");*/
- return offset;
-}
-
-static int
-lustre_dissect_element_cfg_marker_cm_canceltime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- //offset=dissect_ndr_time_t(tvb, offset, pinfo,tree, hf_lustre_cfg_marker_cm_canceltime);
-
- /*g_print("element_cfg_marker_cm_canceltime\n");*/
- return offset;
-}
-
-
-
-static int
-lustre_dissect_element_cfg_marker_cm_tgtname_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_tgtname);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_cfg_marker_cm_tgtname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- int i;
- for (i = 0; i < 64; i++)
- offset=lustre_dissect_element_cfg_marker_cm_tgtname_(tvb, offset, pinfo, tree);
-
- return offset;
-}
-
-
-
-static int
-lustre_dissect_element_cfg_marker_cm_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_comment);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_cfg_marker_cm_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- int i;
- for (i = 0; i < 64; i++)
- offset=lustre_dissect_element_cfg_marker_cm_comment_(tvb, offset, pinfo, tree);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_cfg_marker(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_cfg_marker);
- }
-
- offset=lustre_dissect_element_cfg_marker_cm_step(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_cfg_marker_cm_flags(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_cfg_marker_cm_vers(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_cfg_marker_padding(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_cfg_marker_cm_createtime(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_cfg_marker_cm_canceltime(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_cfg_marker_cm_tgtname(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_cfg_marker_cm_comment(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-
-
-/* IDL: struct llog_logid { */
-/* IDL: uint64 lgl_oid; */
-/* IDL: uint64 lgl_oseq; */
-/* IDL: uint32 lgl_ogen; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_llog_logid_lgl_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_logid_lgl_oid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_logid_lgl_oseq(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_logid_lgl_oseq);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_logid_lgl_ogen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_lgl_ogen);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_llog_logid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_llog_logid);
- }
-
- offset=lustre_dissect_element_llog_logid_lgl_oid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_logid_lgl_oseq(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_logid_lgl_ogen(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* I don't know when this structure is used on network */
-/* IDL: struct llog_catid { */
-/* IDL: struct llog_logid { */
-/* IDL: } lci_logid; */
-/* IDL: uint32 lci_padding1; */
-/* IDL: uint32 lci_padding2; */
-/* IDL: uint32 lci_padding3; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_llog_catid_lci_logid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- //offset=lustre_dissect_struct_HASH(0x85cc76c)(tvb,offset,pinfo,tree,hf_lustre_llog_catid_lci_logid);
-
- /*g_print("llog_catid_lci_logid bug\n");*/
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_catid_lci_padding1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_catid_lci_padding1);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_catid_lci_padding2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_catid_lci_padding2);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_catid_lci_padding3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_catid_lci_padding3);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_llog_catid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_llog_catid);
- }
-
- offset=lustre_dissect_element_llog_catid_lci_logid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_catid_lci_padding1(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_catid_lci_padding2(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_catid_lci_padding3(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* IDL: struct llog_rec_hdr { */
-/* IDL: uint32 lrh_len; */
-/* IDL: uint32 lrh_index; */
-/* IDL: uint32 lrh_type; */
-/* IDL: uint32 padding; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_llog_rec_hdr_lrh_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_hdr_lrh_len);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_rec_hdr_lrh_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_hdr_lrh_index);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_rec_hdr_lrh_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_hdr_lrh_type);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_rec_hdr_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_hdr_padding);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_llog_rec_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_llog_rec_hdr);
- }
-
- offset=lustre_dissect_element_llog_rec_hdr_lrh_len(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_rec_hdr_lrh_index(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_rec_hdr_lrh_type(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_rec_hdr_padding(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* IDL: struct llog_rec_tail { */
-/* IDL: uint32 lrt_len; */
-/* IDL: uint32 lrt_index; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_llog_rec_tail_lrt_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_tail_lrt_len);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_rec_tail_lrt_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_tail_lrt_index);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_llog_rec_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_llog_rec_tail);
- }
-
- offset=lustre_dissect_element_llog_rec_tail_lrt_len(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_rec_tail_lrt_index(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* IDL: struct llog_logid_rec { */
-/* IDL: struct llog_rec_hdr { */
-/* IDL: } lid_hdr; */
-/* IDL: struct llog_logid { */
-/* IDL: } lid_id; */
-/* IDL: uint32 padding1; */
-/* IDL: uint32 padding2; */
-/* IDL: uint32 padding3; */
-/* IDL: uint32 padding4; */
-/* IDL: uint32 padding5; */
-/* IDL: struct llog_rec_tail { */
-/* IDL: } lid_tail; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_llog_logid_rec_lid_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_llog_rec_hdr(tvb,offset,pinfo,tree,hf_lustre_llog_logid_rec_lid_hdr);
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_logid_rec_lid_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_llog_logid(tvb,offset,pinfo,tree,hf_lustre_llog_logid_rec_lid_id);
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_logid_rec_padding1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding1);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_logid_rec_padding2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding2);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_logid_rec_padding3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding3);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_logid_rec_padding4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding4);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_logid_rec_padding5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding5);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_logid_rec_lid_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_llog_rec_tail(tvb,offset,pinfo,tree,hf_lustre_llog_logid_rec_lid_tail);
- return offset;
-}
-
-int
-lustre_dissect_struct_llog_logid_rec(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_llog_logid_rec);
- }
-
- offset=lustre_dissect_element_llog_logid_rec_lid_hdr(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_logid_rec_lid_id(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_logid_rec_padding1(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_logid_rec_padding2(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_logid_rec_padding3(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_logid_rec_padding4(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_logid_rec_padding5(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_logid_rec_lid_tail(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-
-
-
-/* IDL: struct llog_unlink_rec { */
-/* IDL: struct llog_rec_hdr { */
-/* IDL: } lur_hdr; */
-/* IDL: uint64 lur_oid; */
-/* IDL: uint32 lur_ogen; */
-/* IDL: uint32 padding; */
-/* IDL: struct llog_rec_tail { */
-/* IDL: } lur_tail; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_llog_unlink_rec_lur_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- //offset=lustre_dissect_struct_HASH(0x85d8730)(tvb,offset,pinfo,tree,hf_lustre_llog_unlink_rec_lur_hdr);
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_unlink_rec_lur_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_unlink_rec_lur_oid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_unlink_rec_lur_ogen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_unlink_rec_lur_ogen);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_unlink_rec_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_unlink_rec_padding);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_unlink_rec_lur_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- //offset=lustre_dissect_struct_HASH(0x85d9664)(tvb,offset,pinfo,tree,hf_lustre_llog_unlink_rec_lur_tail);
- return offset;
-}
-
-int
-lustre_dissect_struct_llog_unlink_rec(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_llog_unlink_rec);
- }
-
- offset=lustre_dissect_element_llog_unlink_rec_lur_hdr(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_unlink_rec_lur_oid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_unlink_rec_lur_ogen(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_unlink_rec_padding(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_unlink_rec_lur_tail(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-
-
-/* IDL: struct llog_setattr_rec { */
-/* IDL: struct llog_rec_hdr { */
-/* IDL: } lsr_hdr; */
-/* IDL: uint64 lsr_oid; */
-/* IDL: uint32 lsr_ogen; */
-/* IDL: uint32 lsr_uid; */
-/* IDL: uint32 lsr_gid; */
-/* IDL: uint32 padding; */
-/* IDL: struct llog_rec_tail { */
-/* IDL: } lsr_tail; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_llog_setattr_rec_lsr_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- //offset=lustre_dissect_struct_HASH(0x85da2f0)(tvb,offset,pinfo,tree,hf_lustre_llog_setattr_rec_lsr_hdr);
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_setattr_rec_lsr_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_lsr_oid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_setattr_rec_lsr_ogen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_lsr_ogen);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_setattr_rec_lsr_uid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_lsr_uid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_setattr_rec_lsr_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_lsr_gid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_setattr_rec_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_padding);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_setattr_rec_lsr_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- //offset=lustre_dissect_struct_HASH(0x85db3d4)(tvb,offset,pinfo,tree,hf_lustre_llog_setattr_rec_lsr_tail);
- return offset;
-}
-
-int
-lustre_dissect_struct_llog_setattr_rec(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_llog_setattr_rec);
- }
-
- offset=lustre_dissect_element_llog_setattr_rec_lsr_hdr(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_setattr_rec_lsr_oid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_setattr_rec_lsr_ogen(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_setattr_rec_lsr_uid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_setattr_rec_lsr_gid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_setattr_rec_padding(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_setattr_rec_lsr_tail(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-
-
-
-/* IDL: struct llog_size_change_rec { */
-/* IDL: struct llog_rec_hdr { */
-/* IDL: } lsc_hdr; */
-/* IDL: struct ll_fid { */
-/* IDL: } lsc_fid; */
-/* IDL: uint32 lsc_io_epoch; */
-/* IDL: uint32 padding; */
-/* IDL: struct llog_rec_tail { */
-/* IDL: } lsc_tail; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_llog_size_change_rec_lsc_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- //offset=lustre_dissect_struct_HASH(0x85dc458)(tvb,offset,pinfo,tree,hf_lustre_llog_size_change_rec_lsc_hdr);
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_size_change_rec_lsc_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- //offset=lustre_dissect_struct_HASH(0x85dc5a8)(tvb,offset,pinfo,tree,hf_lustre_llog_size_change_rec_lsc_fid);
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_size_change_rec_lsc_io_epoch(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_size_change_rec_lsc_io_epoch);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_size_change_rec_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_size_change_rec_padding);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_size_change_rec_lsc_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- //offset=lustre_dissect_struct_HASH(0x85dd384)(tvb,offset,pinfo,tree,hf_lustre_llog_size_change_rec_lsc_tail);
- // TODO: to be corrected !
- return offset;
-}
-
-int
-lustre_dissect_struct_llog_size_change_rec(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_llog_size_change_rec);
- }
-
- offset=lustre_dissect_element_llog_size_change_rec_lsc_hdr(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_size_change_rec_lsc_fid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_size_change_rec_lsc_io_epoch(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_size_change_rec_padding(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_size_change_rec_lsc_tail(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-
-
-
-/* IDL: struct llog_gen { */
-/* IDL: uint64 mnt_cnt; */
-/* IDL: uint64 conn_cnt; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_llog_gen_mnt_cnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_gen_mnt_cnt);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_gen_conn_cnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_gen_conn_cnt);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_llog_gen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_llog_gen);
- }
-
- offset=lustre_dissect_element_llog_gen_mnt_cnt(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_gen_conn_cnt(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* IDL: struct llog_gen_rec { */
-/* IDL: struct llog_rec_hdr { */
-/* IDL: } lgr_hdr; */
-/* IDL: struct llog_gen { */
-/* IDL: } lgr_gen; */
-/* IDL: struct llog_rec_tail { */
-/* IDL: } lgr_tail; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_llog_gen_rec_lgr_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- //offset=lustre_dissect_struct_HASH(0x85de2e4)(tvb,offset,pinfo,tree,hf_lustre_llog_gen_rec_lgr_hdr);
- // TODO: to be corrected !
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_gen_rec_lgr_gen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- //offset=lustre_dissect_struct_HASH(0x85de434)(tvb,offset,pinfo,tree,hf_lustre_llog_gen_rec_lgr_gen);
- // TODO: to be corrected !
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_gen_rec_lgr_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- //offset=lustre_dissect_struct_HASH(0x85df3f8)(tvb,offset,pinfo,tree,hf_lustre_llog_gen_rec_lgr_tail);
- // TODO: to be corrected !
- return offset;
-}
-
-int
-lustre_dissect_struct_llog_gen_rec(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_llog_gen_rec);
- }
-
- offset=lustre_dissect_element_llog_gen_rec_lgr_hdr(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_gen_rec_lgr_gen(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_gen_rec_lgr_tail(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-
-
-
-/* IDL: struct llog_log_hdr { */
-/* IDL: struct llog_rec_hdr { */
-/* IDL: } llh_hdr; */
-/* IDL: uint64 llh_timestamp; */
-/* IDL: uint32 llh_count; */
-/* IDL: uint32 llh_bitmap_offset; */
-/* IDL: uint32 llh_size; */
-/* IDL: uint32 llh_flags; */
-/* IDL: uint32 llh_cat_idx; */
-/* IDL: struct obd_uuid { */
-/* IDL: } llh_tgtuuid; */
-/* IDL: uint32 llh_reserved[1]; */
-/* IDL: uint32 llh_bitmap[2024]; */
-/* IDL: struct llog_rec_tail { */
-/* IDL: } llh_tail; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_llog_log_hdr_llh_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_llog_rec_hdr(tvb,offset,pinfo,tree,hf_lustre_llog_log_hdr_llh_hdr);
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_log_hdr_llh_timestamp(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- nstime_t ns;
- ns.secs = tvb_get_letohl(tvb,offset);
- ns.nsecs=0;
- proto_tree_add_time(tree, hf_lustre_llog_log_hdr_llh_timestamp, tvb, offset, 8, &ns );
- offset+=8;
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_log_hdr_llh_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_count);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_log_hdr_llh_bitmap_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_bitmap_offset);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_log_hdr_llh_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_size);
-
- return offset;
-}
-
-
-
-static int
-lustre_dissect_element_llog_log_llh_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree,hf_index, tvb, offset, 4, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_llog_log_llh_flags);
- }
- dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_hdr_llh_flag_zap_when_empty);
- dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_hdr_llh_flag_is_cat);
- dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_hdr_llh_flag_is_play);
-
- offset+=4;
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_log_hdr_llh_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- // offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_flags);
- offset=lustre_dissect_element_llog_log_llh_flags(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_flags);
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_log_hdr_llh_cat_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_cat_idx);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_log_hdr_llh_tgtuuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_obd_uuid(tvb,offset,pinfo,tree,hf_lustre_llog_log_hdr_llh_tgtuuid);
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_log_hdr_llh_reserved_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_reserved);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_log_hdr_llh_reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- int i;
- for (i = 0; i < 1; i++)
- offset=lustre_dissect_element_llog_log_hdr_llh_reserved_(tvb, offset, pinfo, tree);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_log_hdr_llh_bitmap_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_bitmap);
-
- return offset;
-}
-
-
-static int
-lustre_dissect_element_llog_log_hdr_llh_bitmap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- int i;
- for (i = 0; i < 2024; i++)
- offset=lustre_dissect_element_llog_log_hdr_llh_bitmap_(tvb, offset, pinfo, tree);
-
- return offset;
-}
-
-
-
-static int
-lustre_dissect_element_llog_log_hdr_llh_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_llog_rec_tail(tvb,offset,pinfo,tree,hf_lustre_llog_log_hdr_llh_tail);
- return offset;
-}
-
-int
-lustre_dissect_struct_llog_log_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_llog_log_hdr);
- }
-
- offset=lustre_dissect_element_llog_log_hdr_llh_hdr(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_log_hdr_llh_timestamp(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_log_hdr_llh_count(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_log_hdr_llh_bitmap_offset(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_log_hdr_llh_size(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_log_hdr_llh_flags(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_log_hdr_llh_cat_idx(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_log_hdr_llh_tgtuuid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_log_hdr_llh_reserved(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_log_hdr_llh_bitmap(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_log_hdr_llh_tail(tvb, offset, pinfo, tree);
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-
-
-
-/* IDL: struct llog_cookie { */
-/* IDL: struct llog_logid { */
-/* IDL: } lgc_lgl; */
-/* IDL: uint32 lgc_subsys; */
-/* IDL: uint32 lgc_index; */
-/* IDL: uint32 lgc_padding; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_llog_cookie_lgc_lgl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_llog_logid(tvb,offset,pinfo,tree,hf_lustre_llog_cookie_lgc_lgl);
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_cookie_lgc_subsys(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_cookie_lgc_subsys);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_cookie_lgc_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_cookie_lgc_index);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llog_cookie_lgc_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_cookie_lgc_padding);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_llog_cookie(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_llog_cookie);
- }
-
- offset=lustre_dissect_element_llog_cookie_lgc_lgl(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_cookie_lgc_subsys(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_cookie_lgc_index(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llog_cookie_lgc_padding(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-
-
-/* IDL: struct llogd_body { */
-/* IDL: struct llog_logid { */
-/* IDL: } lgd_logid; */
-/* IDL: uint32 lgd_ctxt_idx; */
-/* IDL: uint32 lgd_llh_flags; */
-/* IDL: uint32 lgd_index; */
-/* IDL: uint32 lgd_saved_index; */
-/* IDL: uint32 lgd_len; */
-/* IDL: uint64 lgd_cur_offset; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_llogd_body_lgd_logid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_llog_logid(tvb,offset,pinfo,tree,hf_lustre_llogd_body_lgd_logid);
- return offset;
-}
-
-static int
-lustre_dissect_element_llogd_body_lgd_ctxt_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_ctxt_idx);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llogd_body_lgd_llh_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- //offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_llh_flags);
-
- offset=lustre_dissect_element_llog_log_llh_flags(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_llh_flags);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llogd_body_lgd_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_index);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llogd_body_lgd_saved_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_saved_index);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llogd_body_lgd_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_len);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_llogd_body_lgd_cur_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_cur_offset);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_llogd_body(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_llogd_body);
- }
-
- offset=lustre_dissect_element_llogd_body_lgd_logid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llogd_body_lgd_ctxt_idx(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llogd_body_lgd_llh_flags(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llogd_body_lgd_index(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llogd_body_lgd_saved_index(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llogd_body_lgd_len(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llogd_body_lgd_cur_offset(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-
-/* TODO : find when this Structure appear on the wire */
-/* IDL: struct llogd_conn_body { */
-/* IDL: struct llog_gen { */
-/* IDL: } lgdc_gen; */
-/* IDL: struct llog_logid { */
-/* IDL: } lgdc_logid; */
-/* IDL: uint32 lgdc_ctxt_idx; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_llogd_conn_body_lgdc_gen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- //offset=lustre_dissect_struct_HASH(0x85e6038)(tvb,offset,pinfo,tree,hf_lustre_llogd_conn_body_lgdc_gen);
- return offset;
-}
-
-static int
-lustre_dissect_element_llogd_conn_body_lgdc_logid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- //offset=lustre_dissect_struct_HASH(0x85e6188)(tvb,offset,pinfo,tree,hf_lustre_llogd_conn_body_lgdc_logid);
- return offset;
-}
-
-static int
-lustre_dissect_element_llogd_conn_body_lgdc_ctxt_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_conn_body_lgdc_ctxt_idx);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_llogd_conn_body(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_llogd_conn_body);
- }
-
- offset=lustre_dissect_element_llogd_conn_body_lgdc_gen(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llogd_conn_body_lgdc_logid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_llogd_conn_body_lgdc_ctxt_idx(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* IDL: struct obdo { */
-/* IDL: uint64 o_valid; */
-/* IDL: uint64 o_id; */
-/* IDL: uint64 o_seq; */
-/* IDL: uint64 o_parent_seq; */
-/* IDL: uint64 o_size; */
-/* IDL: uint64 o_mtime; */
-/* IDL: uint64 o_atime; */
-/* IDL: uint64 o_ctime; */
-/* IDL: uint64 o_blocks; */
-/* IDL: uint64 o_grant; */
-/* IDL: uint32 o_blksize; */
-/* IDL: uint32 o_mode; */
-/* IDL: uint32 o_uid; */
-/* IDL: uint32 o_gid; */
-/* IDL: uint32 o_flags; */
-/* IDL: uint32 o_nlink; */
-/* IDL: uint32 o_parent_oid; */
-/* IDL: uint32 o_misc; */
-/* IDL: uint64 o_ioepoch; */
-/* IDL: uint32 o_stripe_idx; */
-/* IDL: uint32 o_parent_ver; */
-/* IDL: struct lustre_handle { */
-/* IDL: } o_handle; */
-/* IDL: struct llog_cookie { */
-/* IDL: } o_lcookie; */
-/* IDL: uint32 o_uid_h; */
-/* IDL: uint32 o_gid_h; */
-/* IDL: uint64 o_padding_3; */
-/* IDL: uint64 o_padding_4; */
-/* IDL: uint64 o_padding_5; */
-/* IDL: uint64 o_padding_6; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_obdo_o_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_valid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_id);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_seq(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_seq);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_parent_seq(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_parent_seq);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_size);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_mtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- nstime_t ns;
- /* timestamp */
- ns.secs = tvb_get_letohl(tvb,offset);
- ns.nsecs=0;
- proto_tree_add_time(tree, hf_lustre_obdo_o_mtime, tvb, offset, 8, &ns );
- offset+=8;
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_atime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- nstime_t ns;
- /* timestamp */
- ns.secs = tvb_get_letohl(tvb,offset);
- ns.nsecs=0;
- proto_tree_add_time(tree, hf_lustre_obdo_o_atime, tvb, offset, 8, &ns );
- offset+=8;
- return offset;
-
-}
-
-static int
-lustre_dissect_element_obdo_o_ctime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- nstime_t ns;
- /* timestamp */
- ns.secs = tvb_get_letohl(tvb,offset);
- ns.nsecs=0;
- proto_tree_add_time(tree, hf_lustre_obdo_o_ctime, tvb, offset, 8, &ns );
- offset+=8;
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_blocks(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_blocks);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_grant(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_grant);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_blksize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_blksize);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_mode);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_uid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_uid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_gid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_flags);
- /* TODO rajouter ça , faire une fonction générique qui s'occupe de tous les flags d'un tableau. */
- /* LOBDFlags = {*/
- /*0x00000001 : "OBD_FL_INLINEDATA",*/
- /*0x00000002 : "OBD_FL_OBDMDEXISTS",*/
- /*0x00000004 : "OBD_FL_DELORPHAN",*/
- /*0x00000008 : "OBD_FL_NORPC",*/
- /*0x00000010 : "OBD_FL_IDONLY",*/
- /*0x00000020 : "OBD_FL_RECREATE_OBJS",*/
- /*0x00000040 : "OBD_FL_DEBUG_CHECK",*/
- /*0x00000100 : "OBD_FL_NO_USRQUOTA",*/
- /*0x00000200 : "OBD_FL_NO_GRPQUOTA",*/
- /*0x00000400 : "OBD_FL_CREATE_CROW",*/
- /*0x00000800 : "OBD_FL_SRVLOCK",*/
- //}
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_nlink(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_nlink);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_parent_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_parent_oid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_misc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_misc);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_ioepoch(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_ioepoch);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_stripe_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_stripe_idx);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_parent_ver(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_parent_ver);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_obdo_o_handle);
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_lcookie(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_llog_cookie(tvb,offset,pinfo,tree,hf_lustre_obdo_o_lcookie);
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_uid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_uid_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_gid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_gid_h);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_3);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_4);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_padding_5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_5);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_obdo_o_padding_6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_6);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_obdo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_obdo);
- }
-
- offset=lustre_dissect_element_obdo_o_valid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_id(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_seq(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_parent_seq(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_size(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_mtime(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_atime(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_ctime(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_blocks(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_grant(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_blksize(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_mode(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_uid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_gid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_flags(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_nlink(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_parent_oid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_misc(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_ioepoch(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_stripe_idx(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_parent_ver(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_handle(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_lcookie(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_uid_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_gid_h(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_padding_3(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_padding_4(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_padding_5(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_obdo_o_padding_6(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-
-
-/* IDL: struct ost_body { */
-/* IDL: struct obdo { */
-/* IDL: } oa; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_ost_body_oa(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_obdo(tvb,offset,pinfo,tree,hf_lustre_ost_body_oa);
- return offset;
-}
-
-int
-lustre_dissect_struct_ost_body(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_ost_body);
- }
-
- offset=lustre_dissect_element_ost_body_oa(tvb, offset, pinfo, tree);
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-
-/* TODO : find when this Structure appear on the wire */
-/* IDL: struct qunit_data { */
-/* IDL: uint32 qd_id; */
-/* IDL: uint32 qd_flags; */
-/* IDL: uint64 qd_count; */
-/* IDL: uint64 qd_qunit; */
-/* IDL: uint64 padding; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_qunit_data_qd_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_qd_id);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_qunit_data_qd_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_qd_flags);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_qunit_data_qd_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qunit_data_qd_count);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_qunit_data_qd_qunit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qunit_data_qd_qunit);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_qunit_data_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qunit_data_padding);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_qunit_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_qunit_data);
- }
-
- offset=lustre_dissect_element_qunit_data_qd_id(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_qunit_data_qd_flags(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_qunit_data_qd_count(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_qunit_data_qd_qunit(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_qunit_data_padding(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* TODO : find when this Structure appear on the wire */
-/* IDL: struct qunit_data_old2 { */
-/* IDL: uint32 qd_id; */
-/* IDL: uint32 qd_flags; */
-/* IDL: uint64 qd_count; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_qunit_data_old2_qd_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old2_qd_id);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_qunit_data_old2_qd_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old2_qd_flags);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_qunit_data_old2_qd_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old2_qd_count);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_qunit_data_old2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_qunit_data_old2);
- }
-
- offset=lustre_dissect_element_qunit_data_old2_qd_id(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_qunit_data_old2_qd_flags(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_qunit_data_old2_qd_count(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* TODO : find when this Structure appear on the wire */
-/* IDL: struct qunit_data_old { */
-/* IDL: uint32 qd_id; */
-/* IDL: uint32 qd_type; */
-/* IDL: uint32 qd_count; */
-/* IDL: uint32 qd_isblk; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_qunit_data_old_qd_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old_qd_id);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_qunit_data_old_qd_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old_qd_type);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_qunit_data_old_qd_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old_qd_count);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_qunit_data_old_qd_isblk(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old_qd_isblk);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_qunit_data_old(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
-
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_qunit_data_old);
- }
-
- offset=lustre_dissect_element_qunit_data_old_qd_id(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_qunit_data_old_qd_type(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_qunit_data_old_qd_count(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_qunit_data_old_qd_isblk(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_seq(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_ )
-{
- offset=dissect_uint32(tvb, offset, pinfo, parent_tree, hf_index);
- /* Pad out to 8 bytes */
- offset=add_extra_padding(tvb,offset,pinfo,parent_tree);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_seq_range(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_lustre_seq_range, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_seq_range);
- }
-
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_seq_range_start);
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_seq_range_end);
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_seq_range_index);
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_seq_range_flags);
-
- if (item)
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_fld_range(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_lustre_fld_range, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_fld_range);
- }
-
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_fld_range_start);
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_fld_range_end);
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_fld_range_index);
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_fld_range_flags);
-
- if (item)
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_mdt_ioepoch(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_mdt_ioepoch);
- }
-
- offset=lustre_dissect_struct_handle_cookie(tvb, offset, pinfo, tree, hf_lustre_mdt_ioepoch_handle);
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_ioepoch_ioepoch);
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_ioepoch_flags);
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_ioepoch_padding);
-
- if (item)
- proto_item_set_len(item, offset-old_offset);
- return offset;
-}
-
-/* IDL: struct lustre_capa {
- * IDL: struct lu_fid lc_fid;
- * IDL: __u64 lc_opc;
- * IDL: __u64 lc_uid;
- * IDL: __u64 lc_gid;
- * IDL: __u32 lc_flags;
- * IDL: __u32 lc_keyid;
- * IDL: __u32 lc_timeout;
- * IDL: __u32 lc_expiry;
- * IDL: __u8 lc_hmac[64];
- * IDL: } __attribute__((packed));
- */
-
-/** lustre_capa::lc_opc */
-/* enum { */
-/* CAPA_OPC_BODY_WRITE = 1<<0, **< write object data */
-/* CAPA_OPC_BODY_READ = 1<<1, **< read object data */
-/* CAPA_OPC_INDEX_LOOKUP = 1<<2, **< lookup object fid */
-/* CAPA_OPC_INDEX_INSERT = 1<<3, **< insert object fid */
-/* CAPA_OPC_INDEX_DELETE = 1<<4, **< delete object fid */
-/* CAPA_OPC_OSS_WRITE = 1<<5, **< write oss object data */
-/* CAPA_OPC_OSS_READ = 1<<6, **< read oss object data */
-/* CAPA_OPC_OSS_TRUNC = 1<<7, **< truncate oss object */
-/* CAPA_OPC_OSS_DESTROY = 1<<8, **< destroy oss object */
-/* CAPA_OPC_META_WRITE = 1<<9, **< write object meta data */
-/* CAPA_OPC_META_READ = 1<<10, **< read object meta data */
-/* }; */
-
-int
-lustre_dissect_element_capa_opc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_)
-{
- /* TODO - pick apart bits */
- offset = dissect_uint64(tvb, offset, pinfo, parent_tree, hf_lustre_capa_opc);
- return offset;
-}
-
-int
-lustre_dissect_element_capa_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_)
-{
- /* TODO - pick apart flags */
- offset=dissect_uint32(tvb,offset,pinfo,parent_tree,hf_lustre_capa_flags);
- return offset;
-}
-
-int
-lustre_dissect_struct_capa(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
- proto_tree *parent_tree _U_, int hf_index _U_, guint32 buf_num)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
- int data_len;
-
- old_offset=offset;
-
- data_len = LUSTRE_BUFFER_LEN(buf_num);
- if (data_len == 0)
- return offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_capa);
- }
-
- offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_capa_fid);
-
- offset=lustre_dissect_element_capa_opc(tvb,offset,pinfo,tree);
-
- offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_capa_uid);
-
- offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_capa_gid);
-
- offset=lustre_dissect_element_capa_flags(tvb,offset,pinfo,tree);
-
- offset=dissect_uint32(tvb,offset,pinfo,tree,hf_lustre_capa_keyid);
-
- offset=dissect_uint32(tvb,offset,pinfo,tree,hf_lustre_capa_timeout);
-
- offset=dissect_uint32(tvb,offset,pinfo,tree,hf_lustre_capa_expiry);
-
- offset=lustre_dissect_struct_hmac(tvb,offset,pinfo,tree, hf_lustre_capa_hmac, 64);
-
- if (item)
- proto_item_set_len(item, offset-old_offset);
- return offset;
-}
-
-int
-lustre_dissect_struct_lquota_id(tvbuff_t *tvb _U_, int offset _U_,
- packet_info *pinfo _U_,
- proto_tree *parent_tree _U_,
- int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_lquota_id);
- }
-
- offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_qid_fid);
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qid_uid);
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qid_gid);
-
- if (item)
- proto_item_set_len(item, offset-old_offset);
- return offset;
-}
-
-int
-lustre_dissect_struct_quota_body(tvbuff_t *tvb _U_, int offset _U_,
- packet_info *pinfo _U_,
- proto_tree *parent_tree _U_,
- int hf_index _U_, guint32 buf_num)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
- int data_len;
-
- old_offset=offset;
-
- data_len = LUSTRE_BUFFER_LEN(buf_num);
- if (data_len == 0)
- return offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_quota_body);
- }
-
- offset = lustre_dissect_struct_lu_fid(tvb, offset, pinfo, tree, hf_lustre_qb_fid);
- offset = lustre_dissect_struct_lquota_id(tvb, offset, pinfo, tree, hf_lustre_qb_id);
- offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qb_flags);
- offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qb_padding);
- offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qb_count);
- offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qb_usage);
- offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qb_slv_ver);
- offset = lustre_dissect_struct_handle_cookie(tvb, offset, pinfo, tree,
- hf_lustre_qb_lockh);
- offset = lustre_dissect_struct_handle_cookie(tvb, offset, pinfo, tree,
- hf_lustre_qb_glb_lockh);
- offset = lustre_dissect_struct_element_data(tvb, offset, pinfo, tree,
- hf_lustre_qb_padding, 32);
- if (item)
- proto_item_set_len(item, offset-old_offset);
- return offset;
-}
-
-int
-lustre_dissect_struct_layout_intent(tvbuff_t *tvb _U_, int offset _U_,
- packet_info *pinfo _U_,
- proto_tree *parent_tree _U_,
- int hf_index _U_, guint32 buf_num)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
- int data_len;
-
- old_offset=offset;
-
- data_len = LUSTRE_BUFFER_LEN(buf_num);
- if (data_len == 0)
- return offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_layout_intent);
- }
-
- offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_layout_intent_opc);
- offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_layout_intent_flags);
- offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_layout_intent_start);
- offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_layout_intent_end);
- if (item)
- proto_item_set_len(item, offset-old_offset);
- return offset;
-}
-
-int
-lustre_dissect_struct_acl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_, guint32 buf_num)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
- int data_len;
-
- old_offset=offset;
-
- data_len = LUSTRE_BUFFER_LEN(buf_num);
- if (data_len == 0)
- return offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_acl);
- }
-
- proto_tree_add_item(tree, hf_index, tvb, offset, data_len, TRUE);
-
- offset+=data_len;
-
- offset=add_extra_padding(tvb,offset,pinfo,tree);
-
- if (item)
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-/* struct close_data { */
-/* struct lustre_handle cd_handle; */
-/* struct lu_fid cd_fid; */
-/* __u64 cd_data_version; */
-/* __u64 cd_reserved[8]; */
-/* }; */
-static int
-lustre_dissect_struct_close_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
- proto_tree *parent_tree _U_, int hf_index _U_, guint32 buf_num)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
- int data_len;
-
- old_offset=offset;
-
- data_len = LUSTRE_BUFFER_LEN(buf_num);
- if (data_len == 0)
- return offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_close_data);
- }
-
- offset=lustre_dissect_element_handle_cookie(tvb,offset,pinfo,tree);
- offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_close_fid);
- offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_close_data_ver);
- offset=lustre_dissect_struct_element_data(tvb,offset,pinfo,tree,hf_lustre_close_reserved,8*sizeof(guint64));
-
- if (item)
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_mds_getinfo_vallen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_, guint32 buf_num)
-{
- int data_len;
-
- data_len = LUSTRE_BUFFER_LEN(buf_num);
- if (data_len == 0)
- return offset;
-
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_index);
-
- offset=add_extra_padding(tvb,offset,pinfo,tree);
-
- return offset;
-}
-
-
-/* ------------------------------------------------------------------------- *
- * HSM Dissection
- *
- * struct hsm_request {
- * __u32 hr_action; /\* enum hsm_user_action *\/
- * __u32 hr_archive_id; /\* archive id, used only with HUA_ARCHIVE *\/
- * __u64 hr_flags; /\* request flags *\/
- * __u32 hr_itemcount; /\* item count in hur_user_item vector *\/
- * __u32 hr_data_len;
- */
-
-int
-lustre_dissect_element_hsm_req_action(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_)
-{
- offset=dissect_uint32(tvb,offset,pinfo,parent_tree,hf_lustre_hsm_req_action);
- return offset;
-}
-
-int
-lustre_dissect_element_hsm_req_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_)
-{
- /* TODO - pick apart request flags - HSM_FORCE_ACTION, HSM_GHOST_COPY */
- offset=dissect_uint64(tvb,offset,pinfo,parent_tree,hf_lustre_hsm_req_flags);
- return offset;
-}
-
-static int
-lustre_dissect_struct_hsm_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
- proto_tree *parent_tree _U_, int hf_index _U_, guint32 buf_num)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
- int data_len;
- guint32 action;
-
- old_offset=offset;
-
- data_len = LUSTRE_BUFFER_LEN(buf_num);
- if (data_len == 0)
- return offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_hsm_request);
- }
-
- action=tvb_get_letohl(tvb,offset);
- display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(action, lustre_hsm_user_action_t_vals, "Unknown cr_opc"));
-
- offset=lustre_dissect_element_hsm_req_action(tvb,offset,pinfo,tree);
-
- offset=dissect_uint32(tvb,offset,pinfo,tree,hf_lustre_hsm_req_archive_id);
-
- offset=lustre_dissect_element_hsm_req_flags(tvb,offset,pinfo,tree);
-
- offset=dissect_uint32(tvb,offset,pinfo,tree,hf_lustre_hsm_req_itemcount);
-
- offset=dissect_uint32(tvb,offset,pinfo,tree,hf_lustre_hsm_req_data_len);
-
- if (item)
- proto_item_set_len(item, offset-old_offset);
- return offset;
-}
-
-/* struct hsm_extent { */
-/* __u64 offset; */
-/* __u64 length; */
-/* } */
-static int
-lustre_dissect_struct_hsm_extent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
- proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_hsm_extent);
- }
-
- offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_hsm_extent_offset);
-
- offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_hsm_extent_length);
-
- if (item)
- proto_item_set_len(item, offset-old_offset);
- return offset;
-}
-
-/* struct hsm_user_item { */
-/* struct lu_fid hui_fid; */
-/* struct hsm_extent hui_extent; */
-/* } __attribute__((packed)); */
-static int
-lustre_dissect_struct_hsm_user_item(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
- proto_tree *parent_tree _U_, int hf_index _U_, guint32 buf_num)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
- int data_len;
-
- old_offset=offset;
-
- data_len = LUSTRE_BUFFER_LEN(buf_num);
- if (data_len == 0)
- return offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_hsm_user_item);
- }
-
- offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_hsm_user_item_fid);
-
- offset=lustre_dissect_struct_hsm_extent(tvb,offset,pinfo,tree,hf_lustre_hsm_user_item_extent);
-
- if (item)
- proto_item_set_len(item, offset-old_offset);
- return offset;
-}
-
-/* struct hsm_progress_kernel { */
-/* struct lu_fid hpk_fid; */
-/* __u64 hpk_cookie; */
-/* struct hsm_extent hpk_extent; */
-/* __u16 hpk_flags; */
-/* __u16 hpk_errval; */
-/* __u32 hpk_padding1; */
-/* __u64 hpk_data_version; */
-/* __u64 hpk_padding2; */
-/* } __attribute__((packed)); */
-static int
-lustre_dissect_struct_hsm_progress(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
- proto_tree *parent_tree _U_, int hf_index _U_, guint32 buf_num)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
- int data_len;
-
- old_offset=offset;
-
- data_len = LUSTRE_BUFFER_LEN(buf_num);
- if (data_len == 0)
- return offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_hsm_progress);
- }
-
- offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_hsm_prog_fid);
-
- offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_hsm_prog_cookie);
-
- offset=lustre_dissect_struct_hsm_extent(tvb,offset,pinfo,tree,hf_lustre_hsm_prog_extent);
-
- offset=dissect_uint16(tvb,offset,pinfo,tree,hf_lustre_hsm_prog_flags);
-
- offset=dissect_uint16(tvb,offset,pinfo,tree,hf_lustre_hsm_prog_errval);
-
- offset=dissect_uint32(tvb,offset,pinfo,tree,hf_lustre_extra_padding);
-
- offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_hsm_prog_data_ver);
-
- offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_extra_padding);
-
- if (item)
- proto_item_set_len(item, offset-old_offset);
- return offset;
-}
-
-static int
-lustre_dissect_struct_element_states(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
- proto_tree *parent_tree _U_, int hf_index _U_)
-{
- offset=dissect_uint32(tvb,offset,pinfo,parent_tree,hf_index);
- return offset;
-}
-
-/* struct hsm_user_state { */
-/* ** Current HSM states, from enum hsm_states. */
-/* __u32 hus_states; */
-/* __u32 hus_archive_id; */
-/* ** The current undergoing action, if there is one */
-/* __u32 hus_in_progress_state; */
-/* __u32 hus_in_progress_action; */
-/* struct hsm_extent hus_in_progress_location; */
-/* char hus_extended_info[]; */
-/* }; */
-static int
-lustre_dissect_struct_hsm_user_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
- proto_tree *parent_tree _U_, int hf_index _U_, guint32 buf_num)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
- int data_len;
-
- old_offset=offset;
-
- data_len = LUSTRE_BUFFER_LEN(buf_num);
- if (data_len == 0)
- return offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_hsm_user_state);
- }
-
- offset=lustre_dissect_struct_element_states(tvb,offset,pinfo,tree,hf_lustre_hsm_us_states);
- offset=dissect_uint32(tvb,offset,pinfo,tree,hf_lustre_hsm_us_archive_id);
- offset=dissect_uint32(tvb,offset,pinfo,tree,hf_lustre_hsm_us_in_prog_state);
- offset=dissect_uint32(tvb,offset,pinfo,tree,hf_lustre_hsm_us_in_prog_action);
- offset=lustre_dissect_struct_hsm_extent(tvb,offset,pinfo,tree,hf_lustre_hsm_us_in_prog_location);
- offset=lustre_dissect_struct_element_data(tvb,offset,pinfo,tree,hf_lustre_hsm_us_ext_info,
- (data_len-(offset-old_offset)));
-
- if (item)
- proto_item_set_len(item, offset-old_offset);
- return offset;
-}
-
-
-/* ------------------------------------------------------------------------- */
-/* dissect string .
- * the length of the string is the current buflen
- * @tvb the packet buff
- * @offset the current offset
- * @pinfo
- * @parent_tree
- * @hf_index : the corresponding header field
- * @buf_num : the corresponding bufnumber of the string (we use it to
- * determine the string length), must respect : 0<bufnum<=bufmax_in_paquet
- */
-static int
-lustre_dissect_element_filename (tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_, guint32 buf_num)
-{
- proto_item *item = NULL;
- int old_offset;
- guint32 string_len;
-
- old_offset = offset;
-
- string_len = LUSTRE_BUFFER_LEN(buf_num);
- if (string_len == 0)
- return offset;
-
- item = proto_tree_add_item(parent_tree, hf_index, tvb,
- offset, string_len, TRUE);
- if (string_len > 1) {
-#ifdef WIRESHARK_COMPAT
- display_info_fstr(parent_tree, pinfo->cinfo, COL_INFO,
- " filename : %s",
- (const gchar *)tvb_get_string(tvb, offset,
- string_len));
-#else
- display_info_fstr(parent_tree, pinfo->cinfo, COL_INFO,
- " filename : %s",
- (const gchar *)tvb_get_string_enc(wmem_packet_scope(),
- tvb, offset,
- string_len,
- ENC_ASCII));
-#endif
- }
-
- offset += string_len;
- proto_item_set_len(item, offset-old_offset);
- offset = add_extra_padding(tvb, offset, pinfo, parent_tree);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_string (tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_, guint32 buf_num)
-{
- proto_item *item = NULL;
- int old_offset;
- guint32 string_len;
-
- old_offset=offset;
-
- string_len = LUSTRE_BUFFER_LEN(buf_num);
- if(string_len == 0)
- return offset;
-
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, string_len, TRUE);
-
- offset+=string_len;
- proto_item_set_len(item, offset-old_offset);
- offset=add_extra_padding(tvb,offset,pinfo,parent_tree); /* after a string we must be aligned to 8 bytes. */
-
- return offset;
-}
-/* ------------------------------------------------------------------------- */
-static int
-lustre_dissect_raw_nstr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
- proto_tree *parent_tree _U_, int hf_index _U_,
- guint32 max_len _U_)
-{
- proto_item *item = NULL;
- int old_offset, string_len;
- char c;
-
- old_offset = offset;
-
- string_len = -1;
- do {
- ++ string_len;
- c = tvb_get_guint8(tvb, offset + string_len);
- } while (string_len < max_len && c != '\0');
-
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, string_len, TRUE);
- offset += string_len+1;
- proto_item_set_len(item, offset-old_offset);
- return offset;
-}
-
-static int
-lustre_dissect_raw_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
- proto_tree *parent_tree _U_, int hf_index _U_,
- guint32 length _U_)
-{
- proto_item *item = NULL;
-
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, length, TRUE);
- proto_item_set_len(item, length);
- return offset+length;
-}
-
-int
-lustre_dissect_xattr_eavals(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint32 buff_num)
-{
- /* ldlm_intent_getxattr_server : [eadata][eavals][eavals_lens] *
- * array length == sizeof(eavals_lens)/sizeof(uint32)
- * Buff 1: array of strings (name of xattr)
- * Buff 2: array of data (data of xattr)
- * Buff 3: array of data lengths (in buff 2)
- */
- int count, i, size;
- int namestart, datastart, lenstart, namelen, datalen, lenlen;
- int nameoffset, dataoffset;
- proto_item *item = NULL;
- proto_tree *tree = NULL;
-
- namelen = LUSTRE_BUFFER_LEN(buff_num);
- datalen = LUSTRE_BUFFER_LEN(buff_num+1);
- lenlen = LUSTRE_BUFFER_LEN(buff_num+2);
-
- count = lenlen / sizeof(guint32);
-
- namestart = nameoffset = offset;
- datastart = namestart + namelen;
- datastart += (8- datastart%8)%8;
- dataoffset = datastart;
- lenstart = datastart + datalen;
- lenstart += (8- lenstart%8)%8;
-
- item = proto_tree_add_item(parent_tree, hf_lustre_xattrs, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_xattrs);
-
- for (i = 0; i < count; ++i) {
- int sizeoffset;
- sizeoffset = lenstart + sizeof(guint32)*i;
- size = tvb_get_letohl(tvb, sizeoffset);
-
- nameoffset = lustre_dissect_raw_nstr(tvb, nameoffset, pinfo, tree,
- hf_lustre_xattrs_name,
- (namestart+namelen)-nameoffset);
- dataoffset = lustre_dissect_raw_data(tvb, dataoffset, pinfo, tree,
- hf_lustre_xattrs_data, size);
- dissect_uint32(tvb, sizeoffset, pinfo, tree, hf_lustre_xattrs_size);
- }
-
- offset = lenstart + lenlen;
- offset += (8- offset%8)%8;
- proto_item_set_len(item, offset-namestart);
- return offset;
-}
-
-
-/* Process REINT opcode requests */
-static int reint_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_)
-{
- guint32 opcode ;
-
- opcode = tvb_get_letohl(tvb,offset);
-
- switch(opcode){
- case REINT_SETATTR:
- /* 2.x+ [rec_setattr][capa1][mdt_epoch][eadata][cookie_data][ldlm_request] */
- /* old? [rec_setattr][ldlm_request] */
- offset=lustre_dissect_struct_mdt_rec_setattr(tvb, offset, pinfo, tree,
- hf_lustre_mdt_rec_setattr);
- if (LUSTRE_BUFCOUNT > 2) {
- offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree,
- hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
- if (LUSTRE_BUFFER_LEN(LUSTRE_REQ_REC_OFF+2) > 0)
- offset=lustre_dissect_struct_mdt_ioepoch(tvb, offset, pinfo, tree,
- hf_lustre_mdt_ioepoch);
- offset=lustre_dissect_element_data(tvb, offset, pinfo, tree,
- hf_lustre_mds_xattr_eadata,
- LUSTRE_REQ_REC_OFF+3);
- if (LUSTRE_BUFFER_LEN(LUSTRE_REQ_REC_OFF+4) > 0)
- offset=lustre_dissect_struct_llog_cookie(tvb,offset,pinfo,tree,hf_lustre_llog_cookie);
- }
- offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree,
- hf_lustre_ldlm_request);
- break;
- case REINT_CREATE :
- /* [rec_create][filename][tgt.. à 0 pour l'instant][ldlm_request] */
- offset=lustre_dissect_struct_mdt_rec_create(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create);
- offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
- offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_REQ_REC_OFF+2);
- /* REINT_CREATE_SLAVE / SYM / RMT_ACL */
- if (LUSTRE_BUFCOUNT > 4) {
- /* for CREATE_SYM this is actually name of target - encoded in mdt_rec_create.cr_mode */
- offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_REQ_REC_OFF+3);
- offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree,
- hf_lustre_ldlm_request);
- }
- break;
- case REINT_LINK:
- /*[mdt_rec_link][filename][ldlm_req] */
- offset=lustre_dissect_struct_mdt_rec_link(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link);
- offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
- offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+2);
- offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_reint_old_name, LUSTRE_REQ_REC_OFF+3);
- if (LUSTRE_BUFFER_LEN(LUSTRE_REQ_REC_OFF+4) > 0)
- offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
- break;
- case REINT_UNLINK:
- /* reint_unlink_client: [mdt_rec_unlink][capa1][filename][ldlm_req] */
- offset=lustre_dissect_struct_mdt_rec_unlink(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink);
- offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
- if (LUSTRE_BUFFER_LEN(LUSTRE_REQ_REC_OFF+2) == 112) {
- /* TODO : ugly .. but for now we have to do this */
- offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl);
-
- } else {
- offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_REQ_REC_OFF+2);
- offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
- }
- break;
- case REINT_RENAME: /*mds_rename_unpack : [mdt_rec_rename][filename source][filename target_name][ldlm_request] */
- offset=lustre_dissect_struct_mdt_rec_rename(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename);
- offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
- offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+2);
- offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_reint_old_name, LUSTRE_REQ_REC_OFF+3);
- offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_reint_new_name, LUSTRE_REQ_REC_OFF+4);
- if (LUSTRE_BUFFER_LEN(LUSTRE_REQ_REC_OFF+5) > 0)
- offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
- break;
- case REINT_OPEN: /* [rec_create][filename][eadata] */
- offset=lustre_dissect_struct_mdt_rec_create(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create);
- offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_REQ_REC_OFF+1);
- offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_eadata, LUSTRE_REQ_REC_OFF+2);
- break;
- case REINT_SETXATTR:
- /* 2.x+ [rec_setxattr][capa1][name][eadata][dlm_req] */
- /* old? [rec_setxattr][ldlm_request] */
- offset=lustre_dissect_struct_mdt_rec_setxattr(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr);
- if (LUSTRE_BUFCOUNT > 2) {
- offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree,
- hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
- offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_name, LUSTRE_REQ_REC_OFF+2);
- offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_eadata_str,
- LUSTRE_REQ_REC_OFF+3);
- if (LUSTRE_BUFFER_LEN(LUSTRE_REQ_REC_OFF+4) > 0)
- offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
- } else if (LUSTRE_BUFCOUNT == 2)
- offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree,
- hf_lustre_ldlm_request);
- break;
- }
-
- return offset ;
-}
-
-
-/* dissect a connect message */
-static int
-lustre_dissect_generic_connect(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- /*TODO : add a cuuid and target uid */
- offset = lustre_dissect_struct_obd_uuid(tvb, offset, pinfo, tree,
- hf_lustre_obd_uuid);
- offset = lustre_dissect_struct_obd_uuid(tvb, offset, pinfo, tree,
- hf_lustre_obd_uuid);
- offset = lustre_dissect_struct_handle_cookie(tvb, offset, pinfo, tree,
- hf_lustre_mdt_body_handle);
- offset = lustre_dissect_struct_obd_connect_data(tvb, offset, pinfo,
- tree, hf_lustre_obd_connect_data, 4);
- return offset;
-}
-
-int
-lustre_dissect_struct_lu_ladvise(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
- proto_tree *parent_tree _U_, int hf_index _U_, guint32 buf_num)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
- int data_len;
-
- old_offset=offset;
-
- data_len = LUSTRE_BUFFER_LEN(buf_num);
- if (data_len == 0)
- return offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_ladvise);
- }
-
- offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_lu_ladvise_lla_start);
-
- offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_lu_ladvise_lla_end);
-
- offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_lu_ladvise_lla_advice);
-
- offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_lu_ladvise_lla_padding);
-
- if (item)
- proto_item_set_len(item, offset-old_offset);
- return offset;
-}
-
-static int
-lustre_ost_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint32 opc _U_, guint32 pb_type)
-{
- guint32 i ;
-
- switch (opc){
- case OST_REPLY: /* obsolete so nothing */
- break;
- case OST_GETATTR:
- offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
- if (pb_type == PTL_RPC_MSG_REQUEST)
- offset=lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
- break;
- case OST_SETATTR:
- offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
- if (pb_type == PTL_RPC_MSG_REQUEST)
- offset=lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
- break;
- case OST_READ: /* [OST_BODY][obd_ioobj][niobuf_remote] for request, [OST_BODY] for reply */
- offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
- if(pb_type==PTL_RPC_MSG_REQUEST){
- offset=lustre_dissect_struct_obd_ioobj(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj);
- offset=lustre_dissect_struct_niobuf_remote(tvb,offset,pinfo, tree, hf_lustre_niobuf_remote);
- }
- break;
- case OST_WRITE:
- offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree,
- hf_lustre_ost_body);
- if(pb_type==PTL_RPC_MSG_REQUEST) {
- for (i = 0; i < (LUSTRE_BUFFER_LEN(LUSTRE_REQ_REC_OFF+1))/24; i++)
- offset=lustre_dissect_struct_obd_ioobj(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj);
- offset=lustre_dissect_struct_niobuf_remote(tvb,offset,pinfo, tree, hf_lustre_obd_ioobj);
- }
- if(pb_type==PTL_RPC_MSG_REPLY) { /* niocount *[uint32], but niocount is in request message, so
- we use the bufcount */
- for (i = 0; i < LUSTRE_BUFCOUNT-2; i++) /* -2 because we have already dissect 2 buffers : ptl + ost */
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_nio);
- offset=add_extra_padding(tvb, offset, pinfo, tree);
- }
- break;
- case OST_CREATE:
- offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
- if (pb_type == PTL_RPC_MSG_REQUEST)
- offset=lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
- break;
- case OST_DESTROY:
- offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
- if(pb_type==PTL_RPC_MSG_REQUEST) {/* [ost_body][ldlm_req][capa] */
- if ( LUSTRE_BUFFER_LEN(LUSTRE_REQ_REC_OFF +1) != 0)
- offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request);
- offset=lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REPLY_REC_OFF+2);
- }
- break;
- case OST_GET_INFO:
- if(pb_type==PTL_RPC_MSG_REQUEST) /* [key] */
- offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_ost_key, LUSTRE_REQ_REC_OFF);
- if (pb_type==PTL_RPC_MSG_REPLY)
- offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_ost_val, LUSTRE_REQ_REC_OFF); /* val */
- break;
- case OST_CONNECT:
- if (pb_type==PTL_RPC_MSG_REQUEST) /* [targetuuid][clientuuid][lustre_handle][obd_connect_data] */
- offset=lustre_dissect_generic_connect(tvb,offset,pinfo,tree);
- if (pb_type==PTL_RPC_MSG_REPLY)
- offset = lustre_dissect_struct_obd_connect_data(tvb, offset, pinfo,
- tree, hf_lustre_obd_connect_data, 1);
- break;
- case OST_DISCONNECT: /* [nothing] */
- break;
- case OST_PUNCH: /* [ost_body] */
- offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
- if (pb_type == PTL_RPC_MSG_REQUEST)
- offset=lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
- break;
- case OST_OPEN: /* [nothing] in the code maybee obsolete */
- break;
- case OST_CLOSE: /* [nothing] in the code maybee obsolete */
- break;
- case OST_STATFS: /* [obd_statfs] */
- if (pb_type==PTL_RPC_MSG_REPLY)
- offset=lustre_dissect_struct_obd_statfs(tvb, offset, pinfo, tree, hf_lustre_obd_statfs) ;
- break;
- case OST_SYNC:
- /*[ost_body] in both case */
- offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
- if (pb_type == PTL_RPC_MSG_REQUEST)
- offset=lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
- break;
- case OST_SET_INFO:
- if(pb_type==PTL_RPC_MSG_REQUEST)
- {
- offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_ost_key, LUSTRE_REQ_REC_OFF); /* key */
- offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_val, LUSTRE_REQ_REC_OFF+1); /* val */
- }
- /* if Key = "evict_by_nid" --> need to be process.. TODO */
- break;
- case OST_QUOTACHECK:
- if(pb_type==PTL_RPC_MSG_REQUEST)
- offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl) ;
- /* nothing in reply */
- break;
- case OST_QUOTACTL:
- /*[obd_quotactl in both case]*/
- offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl) ;
- case OST_QUOTA_ADJUST_QUNIT:
- /* [quota_adjust_qunit] in both case ? */
- offset=lustre_dissect_struct_quota_adjust_qunit(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit) ;
- case OST_LADVISE:
- /*[ost_body] in both case */
- offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
- if (pb_type == PTL_RPC_MSG_REQUEST) {
- offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
- offset=lustre_dissect_struct_lu_ladvise(tvb, offset, pinfo, tree, hf_lustre_lu_ladvise, LUSTRE_REQ_REC_OFF+2);
- }
- break;
- };
- return offset;
-}
-
-static int
-lustre_mds_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint32 opc _U_, guint32 pb_type)
-{
- int i;
- switch (opc){
- case MDS_DISCONNECT:
- /*[nothing]*/
- break;
- case MDS_GET_ROOT:
- /*request: [mds body]*/
- /*reply: [mds body][capa] */
- offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body) ;
- if (pb_type == PTL_RPC_MSG_REPLY)
- offset=lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REPLY_REC_OFF+1);
- break;
- case MDS_SETXATTR:
- if(pb_type==PTL_RPC_MSG_REQUEST)
- /* [mds body] */
- offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body) ;
- /*if(reply) : [nothing]*/
- break;
- case MDS_GETXATTR:
- /*request: [mds body][capa][xattr name]*/
- /*reply: [mds body][eadata] - ommited on error */
- offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body) ;
- if(pb_type==PTL_RPC_MSG_REQUEST) {
- offset=lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REPLY_REC_OFF+1);
- offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_name, LUSTRE_REQ_REC_OFF+2);
- }
- if (pb_type == PTL_RPC_MSG_REPLY)
- offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_eadata, LUSTRE_REQ_REC_OFF+1);
- break;
- case MDS_GETATTR:
- offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body);
- if (pb_type == PTL_RPC_MSG_REPLY) { /* [mdt_md][acl][capa1][capa2] */
- offset=lustre_dissect_struct_lov_mds_md(tvb, offset, pinfo, tree,
- hf_lustre_mds_md_data,
- LUSTRE_REPLY_REC_OFF+1);
- offset=lustre_dissect_struct_acl(tvb, offset, pinfo, tree,
- hf_lustre_acl, LUSTRE_REPLY_REC_OFF+3);
- offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree,
- hf_lustre_capa,
- LUSTRE_REPLY_REC_OFF+4);
- offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree,
- hf_lustre_capa,
- LUSTRE_REPLY_REC_OFF+5);
- }
- break;
- case MDS_GETATTR_NAME:
- if(pb_type==PTL_RPC_MSG_REQUEST)
- /*[mdt_body]*/
- offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body) ;
- /*[nothing in reply]*/
- break;
- case MDS_DONE_WRITING:
- /*[mdt_body]*/
- offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body) ;
- break;
- case MDS_PIN: /* repbody.. */
- /*[mdt_body]*/
- offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body) ;
- break;
- case MDS_SYNC:
- /*[mdt_body]*/
- offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body) ;
- break;
-
- case MDS_CLOSE:
- if(pb_type==PTL_RPC_MSG_REQUEST)
- { /* [mdt_ioepoch][rec_reint][capa1] */
- offset=lustre_dissect_struct_mdt_ioepoch(tvb, offset, pinfo, tree, hf_lustre_mdt_ioepoch);
-
- if(LUSTRE_BUFFER_LEN(LUSTRE_REQ_REC_OFF+1) > 0)
- offset=lustre_dissect_struct_mdt_rec_setattr(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr);
-
- offset=lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+2);
- offset=lustre_dissect_struct_close_data(tvb,offset,pinfo,tree, hf_lustre_close_data, LUSTRE_REQ_REC_OFF+3);
- }
- if(pb_type==PTL_RPC_MSG_REPLY)
- { /* [mdt_body][md][cookie][capa1][capa2] */
- offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body) ;
- offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_mds_md_data, LUSTRE_REPLY_REC_OFF+1);
- if(LUSTRE_BUFFER_LEN(LUSTRE_REPLY_REC_OFF+2) > 0)
- offset=lustre_dissect_struct_llog_cookie(tvb,offset,pinfo,tree,hf_lustre_llog_cookie);
- offset=lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+3);
- offset=lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+4);
- }
- break;
-
- case MDS_STATFS:
- if(pb_type==PTL_RPC_MSG_REPLY)
- /*[obd_statfs]*/
- offset=lustre_dissect_struct_obd_statfs(tvb, offset, pinfo, tree, hf_lustre_obd_statfs) ;
- /*in request : [nothing]*/
- break;
-
- case MDS_READPAGE:
- /* [mdt_body] but with some different interpration, need to modify the hf : TODO */
- offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body) ;
- break;
-
- case MDS_REINT:
- /* the structure depend on the intent_opcode */
- if(pb_type==PTL_RPC_MSG_REQUEST)
- offset=reint_opcode_process(tvb, offset, pinfo, tree);
-
- if(pb_type==PTL_RPC_MSG_REPLY) {
- /* [mdt_body][mdt_md][??][capa1][capa2] */
- offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body) ;
-
- offset=lustre_dissect_struct_lov_mds_md(tvb,offset,pinfo,tree,hf_lustre_mds_md_data, LUSTRE_REPLY_REC_OFF+1);
-
- if(LUSTRE_BUFFER_LEN(LUSTRE_REPLY_REC_OFF+2) > 0)
- /* open : ...[ACL]...
- * unlink, rename : ...[log_cookies]... */
- offset=lustre_dissect_element_data(tvb, offset, pinfo, tree,
- hf_lustre_mds_xattr_eadata,
- LUSTRE_REPLY_REC_OFF+2);
-
- lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REPLY_REC_OFF+3);
- lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REPLY_REC_OFF+4);
- }
- break;
- case MDS_SET_INFO:
- if(pb_type==PTL_RPC_MSG_REQUEST){
- /*[key][val]*/
- offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_key,LUSTRE_REQ_REC_OFF); /* key */
- offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_val, LUSTRE_REQ_REC_OFF+1); /* val */
- //offset=add_extra_padding(tvb,offset,pinfo,tree);
- }
- /*nothing en reply*/
- break;
- case MDS_QUOTACHECK:
- /* [obd_quotactl] */
- if(pb_type==PTL_RPC_MSG_REQUEST)
- offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl) ;
- break;
- case MDS_QUOTACTL:
- /* [obd_quotactl] in both case*/
- offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl) ;
- break;
- case MDS_CONNECT:
- if (pb_type==PTL_RPC_MSG_REQUEST) /* [targetuuid][clientuuid][lustre_handle][obd_connect_data] */
- offset=lustre_dissect_generic_connect(tvb,offset,pinfo,tree);
- if (pb_type==PTL_RPC_MSG_REPLY || pb_type == PTL_RPC_MSG_ERR) /*[obd_connect_data]*/
- offset = lustre_dissect_struct_obd_connect_data(tvb, offset, pinfo,
- tree, hf_lustre_obd_connect_data, 1);
- break;
- case MDS_HSM_REQUEST:
- /* [mdt_body][hsm_request][array of hsm_user_item][generic_data] */
- if (pb_type==PTL_RPC_MSG_REQUEST) {
- offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body);
- offset=lustre_dissect_struct_hsm_request(tvb, offset, pinfo, tree, hf_lustre_hsm_request, LUSTRE_REQ_REC_OFF+1);
- for(i = LUSTRE_REQ_REC_OFF+2; i < LUSTRE_BUFCOUNT-1; ++i) {
- offset=lustre_dissect_struct_hsm_user_item(tvb, offset, pinfo, tree, hf_lustre_hsm_user_item, i);
- }
- offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_generic_data, LUSTRE_REQ_REC_OFF+3);
- }
- break;
- case MDS_HSM_PROGRESS:
- /* [mdt_body][hsm_progress] */
- if (pb_type==PTL_RPC_MSG_REQUEST) {
- offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body);
- offset=lustre_dissect_struct_hsm_progress(tvb, offset, pinfo, tree, hf_lustre_hsm_request, LUSTRE_REQ_REC_OFF+1);
- }
- break;
- case MDS_HSM_STATE_GET:
- offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body);
- if (pb_type==PTL_RPC_MSG_REPLY)
- /* ...[hsm_user_state] */
- offset=lustre_dissect_struct_hsm_user_state(tvb, offset, pinfo, tree, hf_lustre_hsm_state_get, LUSTRE_REQ_REC_OFF+1);
- break;
- case MDS_GET_INFO:
- if (pb_type == PTL_RPC_MSG_REQUEST) {
- offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_mdt_getinfo_key, LUSTRE_REQ_REC_OFF);
- offset=lustre_dissect_element_mds_getinfo_vallen(tvb, offset, pinfo, tree, hf_lustre_mdt_getinfo_vallen, LUSTRE_REQ_REC_OFF+1);
- }
- if (pb_type == PTL_RPC_MSG_REPLY)
- offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_mdt_getinfo_data, LUSTRE_REQ_REC_OFF);
- default:
- break;
- };
-
- return offset;
-
-}
-
-
-static int
-lustre_ldlm_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint32 opc _U_, guint32 pb_type)
-{
- switch (opc) {
- case LDLM_ENQUEUE:
- /* [ldlm_request] if we have one more buffer it's
- * [intent_opcode] and the opcode give us the corresponding
- * intent structure [intent] */
- if (pb_type==PTL_RPC_MSG_REQUEST) {
- offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree,
- hf_lustre_ldlm_request);
- if (LUSTRE_BUFCOUNT>=3)
- offset=lustre_dissect_struct_ldlm_intent(tvb, offset, pinfo, tree,
- hf_lustre_ldlm_intent);
- }
- if (pb_type==PTL_RPC_MSG_REPLY) {
- guint32 ldlm_type;
-
- /* [ldlm_reply] */
- offset=lustre_dissect_struct_ldlm_reply(tvb, offset, pinfo, tree,
- hf_lustre_ldlm_reply,
- &ldlm_type);
- /* Generic Reply:
- * [mdt_body][mdt_md][acl]
- * CREATE or GETATTR:
- * [mdt_body][mdt_md][acl][capa1]
- * OPEN:
- * [mdt_body][mdt_md][acl][capa1][capa2]
- * GETXATTR:
- * [mdt_body][mdt_md][acl][eadata][eavals][eavals_lens]
- *
- * LAYOUT:
- * [dlm_lvb]
- * QUOTA:
- * [dlm_lvb][quota_body]
- */
-
- /* check if we're done processing */
- if (LUSTRE_BUFCOUNT <= 2)
- break;
-
- /* LAYOUT and QUOTA */
- if (LUSTRE_BUFFER_LEN(LUSTRE_DLM_REPLY_REC_OFF) == 40) {
- /* TODO :this code need to be check and test, the
- * lustre corresponding code isn't explicit, so not
- * sure to have this buffer, but in example it works
- * fine
- */
- offset=lustre_dissect_struct_ost_lvb(tvb, offset, pinfo, tree,
- hf_lustre_ost_lvb,
- LUSTRE_DLM_REPLY_REC_OFF);
- if (LUSTRE_BUFCOUNT == 3)
- break;
- offset = lustre_dissect_struct_quota_body(tvb, offset,
- pinfo, tree, hf_lustre_qb,
- LUSTRE_DLM_REPLY_REC_OFF+1);
- break;
-
- } else if ((ldlm_type == LDLM_EXTENT) || (LUSTRE_BUFCOUNT == 3)) {
- int magic;
- // ??
- magic=tvb_get_letohl(tvb, offset);
- if (magic == LOV_MAGIC_V1)
- offset = lustre_dissect_struct_lov_mds_md_v1(tvb, offset,
- pinfo, tree, hf_lustre_lov_mds_md_v1);
- else
- offset = lustre_dissect_struct_ost_lvb(tvb, offset, pinfo,
- tree, hf_lustre_ost_lvb,
- LUSTRE_DLM_REPLY_REC_OFF+1);
- break;
- }
-
- if (LUSTRE_BUFFER_LEN(LUSTRE_DLM_REPLY_REC_OFF) > 0)
- offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree,
- hf_lustre_mdt_body);
- offset=lustre_dissect_struct_lov_mds_md(tvb,offset,pinfo,tree,hf_lustre_mds_md_data,
- LUSTRE_DLM_REPLY_REC_OFF+1);
-
- /* ldlm_intent_server : ACL */
- offset=lustre_dissect_struct_acl(tvb, offset, pinfo, tree,
- hf_lustre_acl, LUSTRE_DLM_REPLY_REC_OFF+2);
-
- if (LUSTRE_BUFCOUNT == 8) {
- /* ldlm_intent_getxattr_server : [eadata][eavals][eavals_lens] */
- offset = lustre_dissect_xattr_eavals(tvb, offset, pinfo, tree,
- LUSTRE_DLM_REPLY_REC_OFF+3);
- break;
-
- } else if (LUSTRE_BUFCOUNT >= 6) {
- /* ldlm_intent_open_server : [capa1][capa2] */
- /* ldlm_intent_open_server : [capa1] */
- offset = lustre_dissect_struct_capa(tvb, offset, pinfo, tree,
- hf_lustre_capa,
- LUSTRE_DLM_REPLY_REC_OFF+3);
- offset = lustre_dissect_struct_capa(tvb, offset, pinfo, tree,
- hf_lustre_capa,
- LUSTRE_DLM_REPLY_REC_OFF+4);
- }
- }
- break;
-
- case LDLM_CONVERT:
- if(pb_type==PTL_RPC_MSG_REQUEST) /*[ldlm_request]*/
- offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
- if(pb_type==PTL_RPC_MSG_REPLY) /*[ldlm_reply]*/
- offset=lustre_dissect_struct_ldlm_reply(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply, NULL) ;
- break;
-
- case LDLM_CANCEL:
- if(pb_type==PTL_RPC_MSG_REQUEST) /*[ldlm_request]*/
- offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
- break;
-
- case LDLM_BL_CALLBACK:
- if(pb_type==PTL_RPC_MSG_REQUEST) /*[ldlm_request]*/
- offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
- break;
-
- case LDLM_CP_CALLBACK:
- if(pb_type==PTL_RPC_MSG_REQUEST){
- /*[ldlm_request] if the third buffer exist we have [lvb data] so it's [ost_lvb] : TODO :
- * check that */
- offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
- offset = lustre_dissect_struct_ost_lvb(tvb, offset, pinfo, tree,
- hf_lustre_ost_lvb,
- LUSTRE_DLM_REPLY_REC_OFF);
- }
- /*reply : [nothing] */
- break;
-
- case LDLM_GL_CALLBACK:
- if(pb_type==PTL_RPC_MSG_REQUEST) { /*[ldlm_request] [lvb (for gl_desc)]*/
- offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
- offset = lustre_dissect_struct_ost_lvb(tvb, offset, pinfo, tree,
- hf_lustre_ost_lvb,
- LUSTRE_REQ_REC_OFF+1);
- }
- if(pb_type==PTL_RPC_MSG_REPLY) /* [ost_lvb] */
- offset=lustre_dissect_struct_ost_lvb(tvb, offset, pinfo, tree,
- hf_lustre_ost_lvb,
- LUSTRE_REPLY_REC_OFF);
- break;
-
- case LDLM_SET_INFO:
- /* ? [key-string][value-data] */
- if(pb_type==PTL_RPC_MSG_REQUEST) {
- offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ldlm_key, LUSTRE_REQ_REC_OFF); /* key */
- offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_ldlm_value, LUSTRE_REQ_REC_OFF+1); /* value */
- }
- break;
- default :
- break;
- }
- return offset;
-}
-
-static int
-lustre_mgs_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint32 opc _U_, guint32 pb_type)
-{
- switch (opc){
- case MGS_CONNECT :
- if (pb_type==PTL_RPC_MSG_REQUEST) /* [targetuuid][clientuuid][lustre_handle][obd_connect_data] */
- offset = lustre_dissect_generic_connect(tvb, offset, pinfo, tree);
- if (pb_type==PTL_RPC_MSG_REPLY) /*[obd_connect_data]*/
- offset = lustre_dissect_struct_obd_connect_data(tvb, offset, pinfo,
- tree, hf_lustre_obd_connect_data, 1);
- break;
- case MGS_DISCONNECT :
- /*[nothing]*/
- break;
- case MGS_EXCEPTION : /* node died, etc. */
- /*[nothing]*/
- break;
- case MGS_TARGET_REG:
- /*[mgs_target_info], mgs_handler.c mgs_handle_target_reg() called whenever a target startup*/
- offset=lustre_dissect_struct_mgs_target_info(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info);
- break;
- case MGS_TARGET_DEL:
- /*[nothing]*/
- break;
- case MGS_SET_INFO:
- /*[mgs_send_param], mgs_set_info_rpc()*/
- offset=lustre_dissect_struct_mgs_send_param(tvb,offset,pinfo,tree,hf_lustre_mgs_send_param);
- break;
- case MGS_CONFIG_READ:
- if (pb_type==PTL_RPC_MSG_REQUEST) /* [config_body] */
- offset=lustre_dissect_struct_mgs_config_body(tvb,offset,pinfo,tree,hf_lustre_mgs_config_body);
- if (pb_type==PTL_RPC_MSG_REPLY) /* [config_res] */
- offset=lustre_dissect_struct_mgs_config_res(tvb,offset,pinfo,tree,hf_lustre_mgs_config_res);
- break;
- default:
- break;
- };
- return offset;
-}
-
-static int
-lustre_odb_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint32 opc _U_, guint32 pb_type)
-{
- switch(opc){
- case OBD_PING :
- /*[nothing]*/
- break;
- case OBD_LOG_CANCEL:
- /*[nothing]*/
- break;
- case OBD_QC_CALLBACK:
- if(pb_type==PTL_RPC_MSG_REQUEST)
- offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl);
- /*if (request) : [nothing]*/
- break;
- default:
- break;
- };
- return offset;
-}
-
-static int
-lustre_llog_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint32 opc _U_, guint32 pb_type)
-{
- switch(opc){
- case LLOG_ORIGIN_HANDLE_CREATE : /* in handler.c */
- /*[llogd_body] (reply and request)*/
- offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
- if(pb_type==PTL_RPC_MSG_REQUEST) /* [filename] */
- if (LUSTRE_BUFCOUNT>2)
- offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_llogd_name,
- LUSTRE_REQ_REC_OFF+1);
- break;
- case LLOG_ORIGIN_HANDLE_NEXT_BLOCK :/* in handler.c */
- /* [llogd_body][eadata]
- * the size of second buf is LLOG_CHKUNK_SIZE, so it's maybee only bulk data */
- offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
- if(pb_type==PTL_RPC_MSG_REPLY)
- offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_llogd_chunk,
- LUSTRE_REPLY_REC_OFF+1);
- break;
- case LLOG_ORIGIN_HANDLE_READ_HEADER:/* in handler.c */
- if(pb_type==PTL_RPC_MSG_REQUEST){
- /* [llogd_body][llog_log_hdr] */
- offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
- if(LUSTRE_BUFCOUNT>2)
- offset=lustre_dissect_struct_llog_log_hdr(tvb, offset, pinfo, tree,
- hf_lustre_llogd_log_hdr);
- }
- if(pb_type==PTL_RPC_MSG_REPLY) /* [llog_log_hdr] */
- offset=lustre_dissect_struct_llog_log_hdr(tvb, offset, pinfo, tree,
- hf_lustre_llogd_log_hdr);
- break;
- case LLOG_ORIGIN_HANDLE_WRITE_REC : /* I think this is obsolete */
- /*[nothing]*/
- break;
- case LLOG_ORIGIN_HANDLE_CLOSE :/* handler.c */
- /*[nothing]*/
- break;
- case LLOG_ORIGIN_CONNECT : /* ost_handler.c */
- /*[nothing]*/
- case LLOG_CATINFO : /*in handler.c */
- if(pb_type==PTL_RPC_MSG_REQUEST){
- /* [keyword][if keyword=config [char*] else [nothing]] */
- offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_llogd_keyword,
- LUSTRE_REQ_REC_OFF);
- /* if (keyword == "config") */
- if (strcmp(
-#ifdef WIRESHARK_COMPAT
- (const char *)tvb_get_string(tvb, LUSTRE_REQ_REC_OFF,
- tvb_get_letohl(tvb,
- LUSTRE_BUFLEN_OFF + 4 *
- LUSTRE_REQ_REC_OFF)),
-#else
- (const char *)tvb_get_string_enc(wmem_packet_scope(), tvb,
- LUSTRE_REQ_REC_OFF,
- tvb_get_letohl(tvb,
- LUSTRE_BUFLEN_OFF + 4 *
- LUSTRE_REQ_REC_OFF),
- ENC_ASCII),
-#endif
- "config") == 0)
- offset = lustre_dissect_element_string(tvb, offset, pinfo, tree,
- hf_lustre_llogd_client,
- LUSTRE_REQ_REC_OFF+1);
- }
- if(pb_type==PTL_RPC_MSG_REPLY)
- /*[buf] sizeof = llog_chunk_size*/
- offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_llogd_chunk,
- LUSTRE_REPLY_REC_OFF + 1 );
- /* TODO TODO : check if it's note a catid */
- break;
- case LLOG_ORIGIN_HANDLE_PREV_BLOCK : /* in handler.c */
- /* [llogd_body] in both case */
- offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
- if(pb_type==PTL_RPC_MSG_REPLY)
- /*[buf] size of llog_chunk_size*/
- offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_llogd_chunk,
- LUSTRE_REPLY_REC_OFF + 1 );
- break;
- case LLOG_ORIGIN_HANDLE_DESTROY : /* in handler.c */
- /*[llogd_body] in both case*/
- offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
- break;
- default:
- break;
- };
-
- return offset;
-}
-
-static int
-lustre_seq_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
- proto_tree * tree _U_, guint32 opc _U_, guint32 pb_type)
-{
- switch (opc) {
- case SEQ_QUERY:
- if (pb_type == PTL_RPC_MSG_REQUEST)
- offset = lustre_dissect_struct_seq(tvb, offset, pinfo,
- tree, hf_lustre_seq_opc);
- offset = lustre_dissect_struct_seq_range(tvb, offset,
- pinfo, tree);
- break;
-
- default:
- g_print("error: SEQ Opcode: %d unknown\n", opc);
- col_append_str(pinfo->cinfo, COL_PROTOCOL, "BUG");
- break;
- };
-
- return offset;
-}
-
-static int
-lustre_fld_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
- proto_tree * tree _U_, guint32 opc _U_, guint32 pb_type)
-{
- switch (opc) {
- case FLD_QUERY:
- if (pb_type == PTL_RPC_MSG_REQUEST)
- offset = lustre_dissect_struct_seq(tvb, offset, pinfo,
- tree, hf_lustre_fld_opc);
- offset = lustre_dissect_struct_seq_range(tvb, offset,
- pinfo, tree);
- break;
-
- default:
- g_print("error: FLD Opcode: %d unknown\n", opc);
- col_append_str(pinfo->cinfo, COL_PROTOCOL, "BUG");
- break;
- };
-
- return offset;
-}
-
-
-/* process lustre opcode :
- check if opcode is in range_opcode, and call the corresponding opcode process function */
-static int
-lustre_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint32 opc _U_, guint32 pb_type)
-{
- /* No more buffers to process */
- if (LUSTRE_BUFCOUNT == 1)
- return offset;
-
- if (opc <= OST_LAST_OPC) /* OST opcodes */
- offset=lustre_ost_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
-
- if ( (opc >= MDS_FIRST_OPC) && (opc < MDS_LAST_OPC )) /* MDS opcodes */
- offset=lustre_mds_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
-
- if ( (opc >= LDLM_FIRST_OPC) && (opc < LDLM_LAST_OPC) ) /*LDLM Opcodes*/
- offset=lustre_ldlm_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
-
- if( (opc>= MGS_FIRST_OPC) && (opc <= MGS_LAST_OPC)) /* MGS Opcodes */
- offset=lustre_mgs_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
-
- if( (opc>= OBD_FIRST_OPC) && (opc<=OBD_LAST_OPC)) /* ODB Opcodes */
- offset=lustre_odb_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
-
- if( (opc>=LLOG_FIRST_OPC) && (opc<=LLOG_LAST_OPC)) /* LLOG Opcodes */
- offset=lustre_llog_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
-
- if( (opc >= SEQ_FIRST_OPC) && (opc <= SEQ_LAST_OPC) ) /* SEQ Opcodes */
- offset=lustre_seq_opcode_process(tvb, offset, pinfo, tree, opc, pb_type);
-
- if( (opc >= FLD_FIRST_OPC) && (opc <= FLD_LAST_OPC) ) /* FLD Opcodes */
- offset=lustre_fld_opcode_process(tvb, offset, pinfo, tree, opc, pb_type);
-
- return offset;
-}
-
-/* ----------------------------------------------- */
-/* add an extra padding to be aligned to 8bytes */
-static int
-add_extra_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_)
-{
- guint32 padding_len;
-
- padding_len = (8- offset%8)%8;
- if(padding_len){
- proto_tree_add_item(tree, hf_lustre_extra_padding , tvb, offset, padding_len, TRUE);
- offset+=padding_len;
- }
- return offset;
-}
-/* ----------------------------------------------- */
-
-static int
-ldlm_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
- proto_tree * tree _U_, guint64 intent_opc _U_)
-{
- /* all corresponding code is in mdc_locks.c in function mdc_enqueue() */
- /* if 0x0003 we have CREAT + OPEN
- */
- if (intent_opc & IT_OPEN) {
- /* mdc_intent_open_pack(), d'où [opcode][mdc_rec_create][capa1][capa2][name][eada] */
- offset=lustre_dissect_struct_mdt_rec_create(tvb, offset, pinfo, tree,
- hf_lustre_mdt_rec_create);
- offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree,
- hf_lustre_reint_name,
- LUSTRE_DLM_INTENT_REC_OFF+3);
- offset=lustre_dissect_element_data(tvb, offset, pinfo, tree,
- hf_lustre_mds_xattr_eadata,
- LUSTRE_DLM_INTENT_REC_OFF+4);
- }
-
- if (intent_opc & IT_UNLINK){
- /* mdc_intent_unlink_pack(), d'où [opcode][mdt_rec_unlink][capa][name] */
- offset=lustre_dissect_struct_mdt_rec_unlink(tvb, offset, pinfo, tree,
- hf_lustre_mdt_rec_unlink);
- offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree, hf_lustre_capa,
- LUSTRE_DLM_INTENT_REC_OFF+1);
- offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree,
- hf_lustre_reint_name,
- LUSTRE_DLM_INTENT_REC_OFF+2);
- }
- if (intent_opc & IT_GETATTR){
- /* mdc_intent_lookup_pack, d'où [mdt_body][capa][name] */
- offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body) ;
- offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree, hf_lustre_capa,
- LUSTRE_DLM_INTENT_REC_OFF+1);
- offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_reint_name,
- LUSTRE_DLM_INTENT_REC_OFF+2);
- }
-
- if (intent_opc & IT_LOOKUP){
- /* mdc_intent_lookup_pack, d'où [mdt_body][capa][name] */
- offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body);
- offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree, hf_lustre_capa,
- LUSTRE_DLM_INTENT_REC_OFF+1);
- offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_reint_name,
- LUSTRE_DLM_INTENT_REC_OFF+2);
- }
- if (intent_opc & IT_LAYOUT) {
- /* [layout_intent][eadata] */
- offset = lustre_dissect_struct_layout_intent(tvb, offset,
- pinfo, tree, hf_lustre_layout_intent,
- LUSTRE_DLM_INTENT_REC_OFF);
- offset=lustre_dissect_element_data(tvb, offset, pinfo, tree,
- hf_lustre_mds_xattr_eadata,
- LUSTRE_DLM_INTENT_REC_OFF+1);
- }
- if (intent_opc & IT_QUOTA_DQACQ) {
- offset = lustre_dissect_struct_quota_body(tvb, offset,
- pinfo, tree, hf_lustre_qb,
- LUSTRE_DLM_INTENT_REC_OFF);
- }
- if (intent_opc & IT_GETXATTR) {
- /* [mdt_body][capa] */
- offset = lustre_dissect_struct_mdt_body(tvb, offset, pinfo,
- tree, hf_lustre_mdt_body);
- offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree,
- hf_lustre_capa,
- LUSTRE_DLM_INTENT_REC_OFF+1);
- }
- return offset;
-}
-
-
-
-/* ----------------------------------------------- */
-/* function to test if the packet is entirely dissected add BUG in PROTOCOL COL when it's not*/
-static void
-sanity_check(tvbuff_t *tvb, packet_info *pinfo, guint32 val_offset _U_)
-{
- guint32 somme_buflen = 0 ;
- guint32 i ;
-
- /* magic_number = tvb_get_letohl(tvb, 8); */
-
- for (i=0;i<LUSTRE_BUFCOUNT;i++)
- somme_buflen += tvb_get_letohl(tvb, LUSTRE_BUFLEN_OFF +
- 4 * i ) + (8- tvb_get_letohl(tvb, LUSTRE_BUFLEN_OFF+4 * i)%8)%8; /* we add the
- corresponding
- extra padding,
- because extra
- padding isn't
- count in buflen
- */
-
- if (val_offset != somme_buflen)
- col_append_str(pinfo->cinfo, COL_PROTOCOL, "BUG");
-}
-
-
-/* IDL: struct lustre_msg_v1 { */
-/* IDL: struct lustre_handle { */
-/* IDL: } lm_handle; */
-/* IDL: uint32 lm_magic; */
-/* IDL: uint32 lm_type; */
-/* IDL: uint32 lm_version; */
-/* IDL: uint32 lm_opc; */
-/* IDL: uint64 lm_last_xid; */
-/* IDL: uint64 lm_last_committed; */
-/* IDL: uint64 lm_transno; */
-/* IDL: uint32 lm_status; */
-/* IDL: uint32 lm_flags; */
-/* IDL: uint32 lm_conn_cnt; */
-/* IDL: uint32 lm_bufcount; */
-/* IDL: uint32 lm_buflens[0]; */
-/* IDL: } */
-
-
-static int
-lustre_dissect_element_msg_v1_lm_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- /*TODO : replace with a v1 handle*/
- offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_lustre_msg_v1_lm_handle);
- return offset;
-}
-
-static int
-lustre_dissect_element_msg_v1_lm_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_magic);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_msg_v1_lm_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_type);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_msg_v1_lm_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_version);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_msg_v1_lm_opc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_opc);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_msg_v1_lm_last_xid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_last_xid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_msg_v1_lm_last_committed(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_last_committed);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_msg_v1_lm_transno(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_transno);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_msg_v1_lm_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_status);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_msg_v1_lm_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_flags);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_msg_v1_lm_conn_cnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_conn_cnt);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_msg_v1_lm_bufcount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_bufcount);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_msg_v1_lm_buflens_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_buflens);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_msg_v1_lm_buflens(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- guint32 bufcount ;
- gboolean extra_padding ;
- guint i;
-
- bufcount=tvb_get_letohl(tvb, offset-4); /* TODO : replace with a macro */
-
- if (bufcount & 1) /* we add an extra padding if bufcount is odd */
- extra_padding = 1 ;
- else
- extra_padding = 0 ;
-
- for (i=0;i<bufcount;i++) {
- offset=lustre_dissect_element_msg_v1_lm_buflens_(tvb, offset, pinfo, tree);
- }
- if (extra_padding)
- {
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
- }
-
- return offset;
-}
-
-
-
-int
-lustre_dissect_struct_msg_v1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset;
- guint32 opc ; /* opcode */
- guint32 pb_type; /* type : {request, reply, error} */
-
-
-
- old_offset=offset;
- tree=parent_tree;
- // if (parent_tree) {
- // item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- // tree = proto_item_add_subtree(item, ett_lustre_lustre_msg_v1);
- // }
-
- offset=lustre_dissect_element_msg_v1_lm_handle(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_msg_v1_lm_magic(tvb, offset, pinfo, tree);
-
- pb_type = tvb_get_letohl(tvb, offset);
- offset=lustre_dissect_element_msg_v1_lm_type(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_msg_v1_lm_version(tvb, offset, pinfo, tree);
- opc = tvb_get_letohl(tvb, offset);
- offset=lustre_dissect_element_msg_v1_lm_opc(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_msg_v1_lm_last_xid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_msg_v1_lm_last_committed(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_msg_v1_lm_transno(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_msg_v1_lm_status(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_msg_v1_lm_flags(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_msg_v1_lm_conn_cnt(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_msg_v1_lm_bufcount(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_msg_v1_lm_buflens(tvb, offset, pinfo, tree);
-
-
- proto_item_set_len(item, offset-old_offset);
-
- /* display some nice infos */
- display_info_str(parent_tree, pinfo->cinfo, COL_INFO, val_to_str(opc, lustre_op_codes, "Unknown"));
- display_info_fstr(parent_tree, pinfo->cinfo,COL_INFO, " %s ", val_to_str(pb_type, lustre_LMTypes, "Unknown"));
-
- offset=lustre_opcode_process(tvb, offset, pinfo, tree, opc, pb_type);
-
- return offset;
-}
-
-/* IDL: struct ptlrpc_body { */
-/* IDL: struct lustre_handle { */
-/* IDL: } pb_handle; */
-/* IDL: uint32 pb_type; */
-/* IDL: uint32 pb_version; */
-/* IDL: uint32 pb_opc; */
-/* IDL: uint32 pb_status; */
-/* IDL: uint64 pb_last_xid; */
-/* IDL: uint64 pb_last_seen; */
-/* IDL: uint64 pb_last_committed; */
-/* IDL: uint64 pb_transno; */
-/* IDL: uint32 pb_flags; */
-/* IDL: uint32 pb_op_flags; */
-/* IDL: uint32 pb_conn_cnt; */
-/* IDL: uint32 pb_timeout; */
-/* IDL: uint32 pb_service_time; */
-/* IDL: uint32 pb_limit; */
-/* IDL: uint64 pb_slv; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_ptlrpc_body_pb_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_ptlrpc_body_pb_handle);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ptlrpc_body_pb_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_type);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ptlrpc_body_pb_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_version);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ptlrpc_body_pb_opc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_opc);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ptlrpc_body_pb_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_status);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ptlrpc_body_pb_last_xid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_last_xid);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ptlrpc_body_pb_last_seen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_last_seen);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ptlrpc_body_pb_last_committed(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_last_committed);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ptlrpc_body_pb_transno(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_transno);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ptlrpc_body_pb_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_flags);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ptlrpc_body_pb_op_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_op_flags);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ptlrpc_body_pb_conn_cnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_conn_cnt);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ptlrpc_body_pb_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_timeout);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ptlrpc_body_pb_service_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_service_time);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ptlrpc_body_pb_limit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_limit);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ptlrpc_body_pb_slv(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_slv);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ptlrpc_body_pb_pre_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_pre_version);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ptlrpc_body_pb_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_padding);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_ptlrpc_body_pb_jobid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_)
-{
-
- /* the lenght of the string is 32 bytes max, with \0 inside */
- proto_tree_add_item(parent_tree, hf_lustre_ptlrpc_body_pb_jobid, tvb, offset, 32, TRUE);
-
- offset+=32;
- return offset;
-}
-
-
-static int
-lustre_dissect_struct_ptlrpc_body(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_, guint32 buf_len _U_ )
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- int old_offset, i;
- guint32 opc, pb_type, pb_version;
-
- old_offset=offset;
-
- if (parent_tree) {
- item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- tree = proto_item_add_subtree(item, ett_lustre_ptlrpc_body);
- }
-
- offset=lustre_dissect_element_ptlrpc_body_pb_handle(tvb, offset, pinfo, tree);
-
- pb_type = tvb_get_letohl(tvb, offset);
- //g_print("msg_v2_lm_type_offset = %d \n" , offset) ;
-
- offset=lustre_dissect_element_ptlrpc_body_pb_type(tvb, offset, pinfo, tree);
-
- pb_version = tvb_get_letohl(tvb, offset) & ~LUSTRE_VERSION_MASK;
- //g_print("msg_v2_version_offset %d : version == %d \n", offset, pb_version);
- offset=lustre_dissect_element_ptlrpc_body_pb_version(tvb, offset, pinfo, tree);
-
- // g_print("msg_v2_opcode_offset %d \n", offset);
- opc = tvb_get_letohl(tvb, offset);
- offset=lustre_dissect_element_ptlrpc_body_pb_opc(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ptlrpc_body_pb_status(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ptlrpc_body_pb_last_xid(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ptlrpc_body_pb_last_seen(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ptlrpc_body_pb_last_committed(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ptlrpc_body_pb_transno(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ptlrpc_body_pb_flags(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ptlrpc_body_pb_op_flags(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ptlrpc_body_pb_conn_cnt(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ptlrpc_body_pb_timeout(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ptlrpc_body_pb_service_time(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ptlrpc_body_pb_limit(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_ptlrpc_body_pb_slv(tvb, offset, pinfo, tree);
-
- /* pb_pre_versions */
- for(i = 0; i < 4; ++i) {
- offset=lustre_dissect_element_ptlrpc_body_pb_pre_version(tvb, offset, pinfo, tree);
- }
-
- for(i = 0; i < 4; ++i) {
- offset=lustre_dissect_element_ptlrpc_body_pb_padding(tvb, offset, pinfo, tree);
- }
-
- if (pb_version == LUSTRE_PTLRPC_MSG_VERSION && offset-old_offset < buf_len) {
- offset=lustre_dissect_element_ptlrpc_body_pb_jobid(tvb, offset, pinfo, tree);
- }
-
- if (offset-old_offset != buf_len) {
- g_print("ptlbody offset-old:%d buf_len:%d\n",
- offset-old_offset, buf_len);
- col_append_str(pinfo->cinfo, COL_PROTOCOL, "BUG");
- }
-
- proto_item_set_len(item, offset-old_offset);
-
- /* display some nice infos */
- display_info_str(parent_tree, pinfo->cinfo, COL_INFO, val_to_str(opc, lustre_op_codes, "Unknown"));
- display_info_fstr(parent_tree, pinfo->cinfo,COL_INFO, " %s ", val_to_str(pb_type, lustre_LMTypes, "Unknown"));
-
- /* on utilise parent_tree pour bien distinguer les différents buffers (relatifs à bufcount + buflen), il s'agit d'un choix de présentation */
- offset=lustre_opcode_process(tvb, offset, pinfo, parent_tree, opc, pb_type);
-
- sanity_check(tvb,pinfo,offset-old_offset);
- return offset;
-}
-
-
-
-/* IDL: struct lustre_msg_v2 { */
-/* IDL: uint32 lm_bufcount; */
-/* IDL: uint32 lm_secflvr; */
-/* IDL: uint32 lm_magic; */
-/* IDL: uint32 lm_repsize; */
-/* IDL: uint32 lm_cksum; */
-/* IDL: uint32 lm_flags; */
-/* IDL: uint32 lm_padding_2; */
-/* IDL: uint32 lm_padding_3; */
-/* IDL: uint32 lm_buflens[0]; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_msg_v2_lm_bufcount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- proto_tree_add_item(tree, hf_lustre_lustre_msg_v2_lm_bufcount, tvb, offset, 4, TRUE);
- offset += 4 ;
- return offset;
-}
-
-static int
-lustre_dissect_element_msg_v2_lm_secflvr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_secflvr);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_msg_v2_lm_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_magic);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_msg_v2_lm_repsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_repsize);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_msg_v2_lm_cksum(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_cksum);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_msg_v2_lm_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_flags);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_msg_v2_lm_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_padding_2);
-
- return offset;
-}
-
-static int
-lustre_dissect_element_msg_v2_lm_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_padding_3);
-
- return offset;
-}
-
-
-
-static int
-lustre_dissect_element_msg_v2_lm_buflens_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_buflens);
-
- return offset;
-}
-
-int
-lustre_dissect_struct_msg_v2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
- proto_item *item = NULL;
- proto_tree *tree = NULL;
- guint32 bufcount ;
- int old_offset;
- guint32 i ;
- guint32 buf_len_offset;
- guint32 current_buf_len ;
- gboolean extra_padding ;
-
-
- old_offset=offset;
- /* to get a light display */
- tree=parent_tree;
- // if (parent_tree) {
- // item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
- // tree = proto_item_add_subtree(item, ett_lustre_lustre_msg_v2);
- // }
-
- bufcount = tvb_get_letohl(tvb,offset);
- offset=lustre_dissect_element_msg_v2_lm_bufcount(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_msg_v2_lm_secflvr(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_msg_v2_lm_magic(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_msg_v2_lm_repsize(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_msg_v2_lm_cksum(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_msg_v2_lm_flags(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_msg_v2_lm_padding_2(tvb, offset, pinfo, tree);
-
- offset=lustre_dissect_element_msg_v2_lm_padding_3(tvb, offset, pinfo, tree);
-
-
-
- if (bufcount & 1) /* we add an extra padding if bufcount is odd */
- extra_padding = 1 ;
- else
- extra_padding = 0 ;
-
- buf_len_offset=offset ;
- for (i=0;i<bufcount;i++) {
- offset=lustre_dissect_element_msg_v2_lm_buflens_(tvb, offset, pinfo, tree);
- }
-
- if (extra_padding)
- {
- offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
- }
-
- current_buf_len = tvb_get_letohl(tvb, buf_len_offset);
- offset=lustre_dissect_struct_ptlrpc_body(tvb,offset, pinfo, tree, hf_lustre_ptlrpc_body_pb, current_buf_len);
-
- proto_item_set_len(item, offset-old_offset);
-
- return offset;
-}
-
-
-static void
-dissect_lustre(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
-{
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "Lustre");
-
- /*light display*/
- col_set_str(pinfo->cinfo, COL_INFO, "");
- /* guint32 magic_number ; */
- /* magic_number = tvb_get_letohl(tvb, LUSTRE_MAGIC_OFFSET); */
- /* switch (magic_number)*/
- /* {*/
- /* case LUSTRE_MSG_MAGIC_V1:*/
- /* col_append_fstr(pinfo->cinfo, COL_INFO, " V1 ");*/
- /* break;*/
- /* case LUSTRE_MSG_MAGIC_V2:*/
- /* col_append_fstr(pinfo->cinfo, COL_INFO, " V2 ");*/
- /* break;*/
- /* default:*/
- /* break;*/
- /* }*/
-
- if (tree) {
-
- guint32 magic_number ;
- guint32 offset = 0;
- proto_item *ti = NULL ;
- proto_tree * lustre_tree = NULL ;
-
- ti = proto_tree_add_item(tree,proto_lustre,tvb,0,-1,FALSE);
- lustre_tree = proto_item_add_subtree(ti,ett_lustre);
-
- magic_number = tvb_get_letohl(tvb, 8);
-
- switch (magic_number){
- case LUSTRE_MSG_MAGIC_V1:
- /* put some nice info*/
- proto_item_append_text(lustre_tree, " V1 ");
- offset=lustre_dissect_struct_msg_v1(tvb, offset, pinfo, lustre_tree, proto_lustre ) ;
- break;
- case LUSTRE_MSG_MAGIC_V2:
- /* put some nice info*/
- proto_item_append_text(lustre_tree, " V2 ");
- offset=lustre_dissect_struct_msg_v2(tvb, offset, pinfo, lustre_tree, proto_lustre ) ;
- break;
- default:
- break;
- }
- }
-}
-
-void proto_register_dcerpc_lustre(void)
-{
- static hf_register_info hf[] = {
- { &hf_lustre_mdt_body,
- { "mdt body", "lustre.mdt_body", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
- { &hf_lustre_mdt_body_fid1,
- { "Fid1", "lustre.mdt_body.fid1", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_body_fid2,
- { "Fid2", "lustre.mdt_body.fid2", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_body_handle,
- { "Handle", "lustre.mdt_body.handle", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_body_valid,
- { "Valid", "lustre.mdt_body.valid", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_size,
- { "Size", "lustre.mdt_body.size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_mtime,
- { "Mtime", "lustre.mdt_body.mtime",FT_ABSOLUTE_TIME,
- ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_body_atime,
- { "Atime", "lustre.mdt_body.atime",FT_ABSOLUTE_TIME,
- ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_body_ctime,
- { "Ctime", "lustre.mdt_body.ctime",FT_ABSOLUTE_TIME,
- ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_body_blocks,
- { "Blocks", "lustre.mdt_body.blocks", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_ioepoch,
- { "Ioepoch", "lustre.mdt_body.ioepoch", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_ino,
- { "Ino", "lustre.mdt_body.ino", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_fsuid,
- { "Fsuid", "lustre.mdt_body.fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_fsgid,
- { "Fsgid", "lustre.mdt_body.fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_capability,
- { "Capability", "lustre.mdt_body.capability", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_mode,
- { "Mode", "lustre.mdt_body.mode", FT_UINT32, BASE_OCT, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_uid,
- { "Uid", "lustre.mdt_body.uid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_gid,
- { "Gid", "lustre.mdt_body.gid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_flags,
- { "Flags", "lustre.mdt_body.flags", FT_UINT32, BASE_HEX, VALS(lustre_mds_flags_vals) , 0, "", HFILL }},
- { &hf_lustre_mdt_body_rdev,
- { "Rdev", "lustre.mdt_body.rdev", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_nlink,
- { "Nlink", "lustre.mdt_body.nlink", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_generation,
- { "Generation", "lustre.mdt_body.generation", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_suppgid,
- { "Suppgid", "lustre.mdt_body.suppgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_eadatasize,
- { "Eadatasize", "lustre.mdt_body.eadatasize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_aclsize,
- { "Aclsize", "lustre.mdt_body.aclsize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_max_mdsize,
- { "Max Mdsize", "lustre.mdt_body.max_mdsize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_max_cookiesize,
- { "Max Cookiesize", "lustre.mdt_body.max_cookiesize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_uid_h,
- { "Uid H", "lustre.mdt_body.uid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_gid_h,
- { "Gid H", "lustre.mdt_body.gid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_padding_5,
- { "Padding 5", "lustre.mdt_body.padding_5", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_padding_6,
- { "Padding 6", "lustre.mdt_body.padding_6", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_padding_7,
- { "Padding 7", "lustre.mdt_body.padding_7", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_padding_8,
- { "Padding 8", "lustre.mdt_body.padding_8", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_padding_9,
- { "Padding 9", "lustre.mdt_body.padding_9", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_body_padding_10,
- { "Padding 10", "lustre.mdt_body.padding_10", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
-
- { &hf_lustre_mdt_rec_setattr,
- { "mdt rec setattr", "lustre.mdt_rec_setattr", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
- { &hf_lustre_mdt_rec_setattr_sa_opcode,
- { "Sa Opcode", "lustre.mdt_rec_setattr.sa_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_op_vals), 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setattr_sa_cap,
- { "Sa Cap", "lustre.mdt_rec_setattr.sa_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setattr_sa_fsuid,
- { "Sa Fsuid", "lustre.mdt_rec_setattr.sa_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setattr_sa_fsuid_h,
- { "Sa Fsuid H", "lustre.mdt_rec_setattr.sa_fsuid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setattr_sa_fsgid,
- { "Sa Fsgid", "lustre.mdt_rec_setattr.sa_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setattr_sa_fsgid_h,
- { "Sa Fsgid H", "lustre.mdt_rec_setattr.sa_fsgid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setattr_sa_suppgid,
- { "Sa Suppgid", "lustre.mdt_rec_setattr.sa_suppgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setattr_sa_suppgid_h,
- { "Sa Suppgid H", "lustre.mdt_rec_setattr.sa_suppgid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setattr_sa_padding_1,
- { "Sa Padding 1", "lustre.mdt_rec_setattr.sa_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setattr_sa_padding_1_h,
- { "Sa Padding 1 H", "lustre.mdt_rec_setattr.sa_padding_1_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setattr_sa_fid,
- { "Sa Fid", "lustre.mdt_rec_setattr.sa_fid", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_rec_setattr_sa_valid,
- { "Sa Valid", "lustre.mdt_rec_setattr.sa_valid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setattr_sa_uid,
- { "Sa Uid", "lustre.mdt_rec_setattr.sa_uid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setattr_sa_gid,
- { "Sa Gid", "lustre.mdt_rec_setattr.sa_gid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setattr_sa_size,
- { "Sa Size", "lustre.mdt_rec_setattr.sa_size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setattr_sa_blocks,
- { "Sa Blocks", "lustre.mdt_rec_setattr.sa_blocks", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setattr_sa_mtime,
- { "Sa Mtime", "lustre.mdt_rec_setattr.sa_mtime",FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_rec_setattr_sa_atime,
- { "Sa Atime", "lustre.mdt_rec_setattr.sa_atime",FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_rec_setattr_sa_ctime,
- { "Sa Ctime", "lustre.mdt_rec_setattr.sa_ctime",FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_rec_setattr_sa_attr_flags,
- { "Sa Attr Flags", "lustre.mdt_rec_setattr.sa_attr_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setattr_sa_mode,
- { "Sa Mode", "lustre.mdt_rec_setattr.sa_mode", FT_UINT32, BASE_OCT, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setattr_sa_padding_2,
- { "Sa Padding 2", "lustre.mdt_rec_setattr.sa_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setattr_sa_projid,
- { "Sa Projid", "lustre.mdt_rec_setattr.sa_projid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setattr_sa_padding_4,
- { "Sa Padding 4", "lustre.mdt_rec_setattr.sa_padding_4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setattr_sa_padding_5,
- { "Sa Padding 5", "lustre.mdt_rec_setattr.sa_padding_5", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
-
- { &hf_lustre_mdt_rec_create,
- { "mdt rec create", "lustre.mdt_rec_create", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
- { &hf_lustre_mdt_rec_create_cr_opcode,
- { "Cr Opcode", "lustre.mdt_rec_create.cr_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_op_vals), 0, "", HFILL }},
- { &hf_lustre_mdt_rec_create_cr_cap,
- { "Cr Cap", "lustre.mdt_rec_create.cr_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_create_cr_fsuid,
- { "Cr Fsuid", "lustre.mdt_rec_create.cr_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_create_cr_fsuid_h,
- { "Cr Fsuid H", "lustre.mdt_rec_create.cr_fsuid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_create_cr_fsgid,
- { "Cr Fsgid", "lustre.mdt_rec_create.cr_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_create_cr_fsgid_h,
- { "Cr Fsgid H", "lustre.mdt_rec_create.cr_fsgid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_create_cr_suppgid1,
- { "Cr Suppgid1", "lustre.mdt_rec_create.cr_suppgid1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_create_cr_suppgid1_h,
- { "Cr Suppgid1 H", "lustre.mdt_rec_create.cr_suppgid1_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_create_cr_suppgid2,
- { "Cr Suppgid2", "lustre.mdt_rec_create.cr_suppgid2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_create_cr_suppgid2_h,
- { "Cr Suppgid2 H", "lustre.mdt_rec_create.cr_suppgid2_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_create_cr_fid1,
- { "Cr Fid1", "lustre.mdt_rec_create.cr_fid1", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_rec_create_cr_fid2,
- { "Cr Fid2", "lustre.mdt_rec_create.cr_fid2", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_rec_create_cr_old_handle,
- { "Cr Old Handle", "lustre.mdt_rec_create.cr_old_handle", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_rec_create_cr_time,
- { "Cr Time", "lustre.mdt_rec_create.cr_time",FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_rec_create_cr_rdev,
- { "Cr Rdev", "lustre.mdt_rec_create.cr_rdev", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_create_cr_ioepoch,
- { "Cr Ioepoch", "lustre.mdt_rec_create.cr_ioepoch", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_create_cr_padding_1,
- { "Cr Padding 1", "lustre.mdt_rec_create.cr_padding_1", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_create_cr_mode,
- { "Cr Mode", "lustre.mdt_rec_create.cr_mode", FT_UINT32, BASE_OCT, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_create_cr_bias,
- { "Cr Bias", "lustre.mdt_rec_create.cr_bias", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_create_cr_flags_l,
- { "Cr Flags L", "lustre.mdt_rec_create.cr_flags_l", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_create_cr_flags_h,
- { "Cr Flags H", "lustre.mdt_rec_create.cr_flags_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_create_cr_umask,
- { "Cr Umask", "lustre.mdt_rec_create.cr_umask", FT_UINT32, BASE_OCT, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_create_cr_padding_4,
- { "Cr Padding 4", "lustre.mdt_rec_create.cr_padding_4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
-
- { &hf_lustre_mdt_rec_link,
- { "mdt rec link", "lustre.mdt_rec_link", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
- { &hf_lustre_mdt_rec_link_lk_opcode,
- { "Lk Opcode", "lustre.mdt_rec_link.lk_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_op_vals) , 0, "", HFILL }},
- { &hf_lustre_mdt_rec_link_lk_cap,
- { "Lk Cap", "lustre.mdt_rec_link.lk_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_link_lk_fsuid,
- { "Lk Fsuid", "lustre.mdt_rec_link.lk_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_link_lk_fsuid_h,
- { "Lk Fsuid H", "lustre.mdt_rec_link.lk_fsuid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_link_lk_fsgid,
- { "Lk Fsgid", "lustre.mdt_rec_link.lk_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_link_lk_fsgid_h,
- { "Lk Fsgid H", "lustre.mdt_rec_link.lk_fsgid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_link_lk_suppgid1,
- { "Lk Suppgid1", "lustre.mdt_rec_link.lk_suppgid1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_link_lk_suppgid1_h,
- { "Lk Suppgid1 H", "lustre.mdt_rec_link.lk_suppgid1_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_link_lk_suppgid2,
- { "Lk Suppgid2", "lustre.mdt_rec_link.lk_suppgid2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_link_lk_suppgid2_h,
- { "Lk Suppgid2 H", "lustre.mdt_rec_link.lk_suppgid2_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_link_lk_fid1,
- { "Lk Fid1", "lustre.mdt_rec_link.lk_fid1", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_rec_link_lk_fid2,
- { "Lk Fid2", "lustre.mdt_rec_link.lk_fid2", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_rec_link_lk_time,
- { "Lk Time", "lustre.mdt_rec_link.lk_time",FT_ABSOLUTE_TIME,
- ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_rec_link_lk_padding_1,
- { "Lk Padding 1", "lustre.mdt_rec_link.lk_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_link_lk_padding_2,
- { "Lk Padding 2", "lustre.mdt_rec_link.lk_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_link_lk_padding_3,
- { "Lk Padding 3", "lustre.mdt_rec_link.lk_padding_3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_link_lk_padding_4,
- { "Lk Padding 4", "lustre.mdt_rec_link.lk_padding_4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_link_lk_bias,
- { "Lk Bias", "lustre.mdt_rec_link.lk_bias", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_link_lk_padding_5,
- { "Lk Padding 5", "lustre.mdt_rec_link.lk_padding_5", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_link_lk_padding_6,
- { "Lk Padding 6", "lustre.mdt_rec_link.lk_padding_6", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_link_lk_padding_7,
- { "Lk Padding 7", "lustre.mdt_rec_link.lk_padding_7", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_link_lk_padding_8,
- { "Lk Padding 8", "lustre.mdt_rec_link.lk_padding_8", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_link_lk_padding_9,
- { "Lk Padding 9", "lustre.mdt_rec_link.lk_padding_9", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
-
- { &hf_lustre_mdt_rec_unlink,
- { "mdt rec unlink", "lustre.mdt_rec_unlink", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
- { &hf_lustre_mdt_rec_unlink_ul_opcode,
- { "Ul Opcode", "lustre.mdt_rec_unlink.ul_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_op_vals) , 0, "", HFILL }},
- { &hf_lustre_mdt_rec_unlink_ul_cap,
- { "Ul Cap", "lustre.mdt_rec_unlink.ul_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_unlink_ul_fsuid,
- { "Ul Fsuid", "lustre.mdt_rec_unlink.ul_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_unlink_ul_fsuid_h,
- { "Ul Fsuid H", "lustre.mdt_rec_unlink.ul_fsuid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_unlink_ul_fsgid,
- { "Ul Fsgid", "lustre.mdt_rec_unlink.ul_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_unlink_ul_fsgid_h,
- { "Ul Fsgid H", "lustre.mdt_rec_unlink.ul_fsgid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_unlink_ul_suppgid1,
- { "Ul Suppgid1", "lustre.mdt_rec_unlink.ul_suppgid1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_unlink_ul_suppgid1_h,
- { "Ul Suppgid1 H", "lustre.mdt_rec_unlink.ul_suppgid1_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_unlink_ul_suppgid2,
- { "Ul Suppgid2", "lustre.mdt_rec_unlink.ul_suppgid2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_unlink_ul_suppgid2_h,
- { "Ul Suppgid2 H", "lustre.mdt_rec_unlink.ul_suppgid2_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_unlink_ul_fid1,
- { "Ul Fid1", "lustre.mdt_rec_unlink.ul_fid1", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_rec_unlink_ul_fid2,
- { "Ul Fid2", "lustre.mdt_rec_unlink.ul_fid2", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_rec_unlink_ul_time,
- { "Ul Time", "lustre.mdt_rec_unlink.ul_time",FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_rec_unlink_ul_padding_2,
- { "Ul Padding 2", "lustre.mdt_rec_unlink.ul_padding_2", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_unlink_ul_padding_3,
- { "Ul Padding 3", "lustre.mdt_rec_unlink.ul_padding_3", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_unlink_ul_padding_4,
- { "Ul Padding 4", "lustre.mdt_rec_unlink.ul_padding_4", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_unlink_ul_padding_5,
- { "Ul Padding 5", "lustre.mdt_rec_unlink.ul_padding_5", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_unlink_ul_bias,
- { "Ul Bias", "lustre.mdt_rec_unlink.ul_bias", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_unlink_ul_mode,
- { "Ul Mode", "lustre.mdt_rec_unlink.ul_mode", FT_UINT32, BASE_OCT, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_unlink_ul_padding_6,
- { "Ul Padding 6", "lustre.mdt_rec_unlink.ul_padding_6", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_unlink_ul_padding_7,
- { "Ul Padding 7", "lustre.mdt_rec_unlink.ul_padding_7", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_unlink_ul_padding_8,
- { "Ul Padding 8", "lustre.mdt_rec_unlink.ul_padding_8", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_unlink_ul_padding_9,
- { "Ul Padding 9", "lustre.mdt_rec_unlink.ul_padding_9", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
-
- { &hf_lustre_mdt_rec_rename,
- { "mdt rec rename", "lustre.mdt_rec_rename", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
- { &hf_lustre_mdt_rec_rename_rn_opcode,
- { "Rn Opcode", "lustre.mdt_rec_rename.rn_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_op_vals) , 0, "", HFILL }},
- { &hf_lustre_mdt_rec_rename_rn_cap,
- { "Rn Cap", "lustre.mdt_rec_rename.rn_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_rename_rn_fsuid,
- { "Rn Fsuid", "lustre.mdt_rec_rename.rn_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_rename_rn_fsuid_h,
- { "Rn Fsuid H", "lustre.mdt_rec_rename.rn_fsuid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_rename_rn_fsgid,
- { "Rn Fsgid", "lustre.mdt_rec_rename.rn_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_rename_rn_fsgid_h,
- { "Rn Fsgid H", "lustre.mdt_rec_rename.rn_fsgid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_rename_rn_suppgid1,
- { "Rn Suppgid1", "lustre.mdt_rec_rename.rn_suppgid1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_rename_rn_suppgid1_h,
- { "Rn Suppgid1 H", "lustre.mdt_rec_rename.rn_suppgid1_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_rename_rn_suppgid2,
- { "Rn Suppgid2", "lustre.mdt_rec_rename.rn_suppgid2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_rename_rn_suppgid2_h,
- { "Rn Suppgid2 H", "lustre.mdt_rec_rename.rn_suppgid2_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_rename_rn_fid1,
- { "Rn Fid1", "lustre.mdt_rec_rename.rn_fid1", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_rec_rename_rn_fid2,
- { "Rn Fid2", "lustre.mdt_rec_rename.rn_fid2", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_rec_rename_rn_time,
- { "Rn Time", "lustre.mdt_rec_rename.rn_time",FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_rec_rename_rn_padding_1,
- { "Rn Padding 1", "lustre.mdt_rec_rename.rn_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_rename_rn_padding_2,
- { "Rn Padding 2", "lustre.mdt_rec_rename.rn_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_rename_rn_padding_3,
- { "Rn Padding 3", "lustre.mdt_rec_rename.rn_padding_3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_rename_rn_padding_4,
- { "Rn Padding 4", "lustre.mdt_rec_rename.rn_padding_4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_rename_rn_bias,
- { "Rn Bias", "lustre.mdt_rec_rename.rn_bias", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_rename_rn_mode,
- { "Rn Mode", "lustre.mdt_rec_rename.rn_mode", FT_UINT32, BASE_OCT, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_rename_rn_padding_5,
- { "Rn Padding 5", "lustre.mdt_rec_rename.rn_padding_5", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_rename_rn_padding_6,
- { "Rn Padding 6", "lustre.mdt_rec_rename.rn_padding_6", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_rename_rn_padding_7,
- { "Rn Padding 7", "lustre.mdt_rec_rename.rn_padding_7", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_rename_rn_padding_8,
- { "Rn Padding 8", "lustre.mdt_rec_rename.rn_padding_8", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
-
- { &hf_lustre_mdt_rec_setxattr,
- { "mdt rec setxattr", "lustre.mdt_rec_setxattr", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
- { &hf_lustre_mdt_rec_setxattr_sx_opcode,
- { "Sx Opcode", "lustre.mdt_rec_setxattr.sx_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_op_vals), 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setxattr_sx_cap,
- { "Sx Cap", "lustre.mdt_rec_setxattr.sx_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setxattr_sx_fsuid,
- { "Sx Fsuid", "lustre.mdt_rec_setxattr.sx_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setxattr_sx_fsuid_h,
- { "Sx Fsuid H", "lustre.mdt_rec_setxattr.sx_fsuid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setxattr_sx_fsgid,
- { "Sx Fsgid", "lustre.mdt_rec_setxattr.sx_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setxattr_sx_fsgid_h,
- { "Sx Fsgid H", "lustre.mdt_rec_setxattr.sx_fsgid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setxattr_sx_suppgid1,
- { "Sx Suppgid1", "lustre.mdt_rec_setxattr.sx_suppgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setxattr_sx_suppgid1_h,
- { "Sx Suppgid1 H", "lustre.mdt_rec_setxattr.sx_suppgid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setxattr_sx_suppgid2,
- { "Sx Suppgid2", "lustre.mdt_rec_setxattr.sx_suppgid2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setxattr_sx_suppgid2_h,
- { "Sx Suppgid2 H", "lustre.mdt_rec_setxattr.sx_suppgid2_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setxattr_sx_fid,
- { "Sx Fid", "lustre.mdt_rec_setxattr.sx_fid", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_rec_setxattr_sx_padding_1,
- { "Sx Padding 1", "lustre.mdt_rec_setxattr.sx_padding_1", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setxattr_sx_padding_2,
- { "Sx Padding 2", "lustre.mdt_rec_setxattr.sx_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setxattr_sx_padding_3,
- { "Sx Padding 3", "lustre.mdt_rec_setxattr.sx_padding_3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setxattr_sx_valid,
- { "Sx Valid", "lustre.mdt_rec_setxattr.sx_valid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setxattr_sx_time,
- { "Sx Time", "lustre.mdt_rec_setxattr.sx_time",FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_rec_setxattr_sx_padding_5,
- { "Sx Padding 5", "lustre.mdt_rec_setxattr.sx_padding_5", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setxattr_sx_padding_6,
- { "Sx Padding 6", "lustre.mdt_rec_setxattr.sx_padding_6", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setxattr_sx_padding_7,
- { "Sx Padding 7", "lustre.mdt_rec_setxattr.sx_padding_7", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setxattr_sx_size,
- { "Sx Size", "lustre.mdt_rec_setxattr.sx_size", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setxattr_sx_flags,
- { "Sx Flags", "lustre.mdt_rec_setxattr.sx_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setxattr_sx_padding_8,
- { "Sx Padding 8", "lustre.mdt_rec_setxattr.sx_padding_8", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setxattr_sx_padding_9,
- { "Sx Padding 9", "lustre.mdt_rec_setxattr.sx_padding_9", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setxattr_sx_padding_10,
- { "Sx Padding 10", "lustre.mdt_rec_setxattr.sx_padding_10", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mdt_rec_setxattr_sx_padding_11,
- { "Sx Padding 11", "lustre.mdt_rec_setxattr.sx_padding_11", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
-
- { &hf_lustre_lustre_handle_cookie,
- { "Cookie", "lustre.lustre_handle.cookie", FT_UINT64, BASE_HEX,
- NULL, 0, "", HFILL } },
- { &hf_lustre_ptlrpc_body_pb_last_committed,
- { "Pb Last Committed", "lustre.ptlrpc_body.pb_last_committed", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ptlrpc_body_pb_version,
- { "Pb Version", "lustre.ptlrpc_body.pb_version", FT_UINT32, BASE_DEC, NULL, ~LUSTRE_VERSION_MASK, "", HFILL }},
- { &hf_lustre_lustre_msg_v1_lm_bufcount,
- { "Lm Bufcount", "lustre.lustre_msg_v1.lm_bufcount", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_ioobj_ioo_id,
- { "Ioo Id", "lustre.obd_ioobj.ioo_id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ptlrpc_body_pb_slv,
- { "Pb Slv", "lustre.ptlrpc_body.pb_slv", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
-
- { &hf_lustre_ptlrpc_body_pb_pre_version,
- { "Pb Pre-Version", "lustre.ptlrpc_body.pb_pre_version", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ptlrpc_body_pb_padding,
- { "Pb Padding", "lustre.ptlrpc_body.pb_padding", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ptlrpc_body_pb_jobid,
- { "Pb JobId", "lustre.ptlrpc_body.pb_jobid", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
-
- { &hf_lustre_lustre_msg_v1_lm_handle,
- { "Lm Handle", "lustre.lustre_msg_v1.lm_handle", FT_NONE, BASE_NONE,
- NULL, 0, "", HFILL } },
- { &hf_lustre_ost_lvb_lvb_atime,
- { "Lvb Atime", "lustre.ost_lvb.lvb_atime",
- FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
- { &hf_lustre_ptlrpc_body_pb_timeout,
- { "Pb Timeout", "lustre.ptlrpc_body.pb_timeout", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_statfs_os_bavail,
- { "Os Bavail", "lustre.obd_statfs.os_bavail", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_statfs_os_bsize,
- { "Os Bsize", "lustre.obd_statfs.os_bsize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lustre_msg_v2_lm_repsize,
- { "Lm Repsize", "lustre.lustre_msg_v2.lm_repsize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lustre_msg_v1_lm_last_xid,
- { "Lm Last Xid", "lustre.lustre_msg_v1.lm_last_xid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ll_fid_f_type,
- { "F Type", "lustre.ll_fid.f_type", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_lustre_msg_v2_lm_cksum,
- { "Lm Cksum", "lustre.lustre_msg_v2.lm_cksum", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lustre_msg_v2_lm_buflens,
- { "Lm Buflens", "lustre.lustre_msg_v2.lm_buflens", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lustre_msg_v1_lm_status,
- { "Lm Status", "lustre.lustre_msg_v1.lm_status", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lustre_msg_v1_lm_type,
- { "Lm Type", "lustre.lustre_msg_v1.lm_type", FT_UINT32, BASE_DEC, VALS(lustre_LMTypes), 0, "", HFILL }},
- { &hf_lustre_niobuf_remote_len,
- { "Len", "lustre.niobuf_remote.len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ptlrpc_body_pb_op_flags,
- { "Pb Op Flags", "lustre.ptlrpc_body.pb_op_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_ost_lvb_lvb_ctime,
- { "Lvb Ctime", "lustre.ost_lvb.lvb_ctime",FT_ABSOLUTE_TIME,
- ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
- { &hf_lustre_ptlrpc_body_pb_type,
- { "Pb Type", "lustre.ptlrpc_body.pb_type", FT_UINT32, BASE_DEC, VALS(lustre_LMTypes), 0, "", HFILL }},
- { &hf_lustre_obd_connect_data_ocd_nllg,
- { "Ocd Nllg", "lustre.obd_connect_data.ocd_nllg", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_connect_data_ocd_nllu,
- { "Ocd Nllu", "lustre.obd_connect_data.ocd_nllu", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ll_fid_generation,
- { "Generation", "lustre.ll_fid.generation", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_ost_lvb_lvb_mtime,
- { "Lvb Mtime", "lustre.ost_lvb.lvb_mtime",FT_ABSOLUTE_TIME,
- ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
- { &hf_lustre_ost_lvb_lvb_mtime_ns,
- { "Lvb Mtime NS", "lustre.ost_lvb.lvb_mtime_ns", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ost_lvb_lvb_atime_ns,
- { "Lvb Atime NS", "lustre.ost_lvb.lvb_atime_ns", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ost_lvb_lvb_ctime_ns,
- { "Lvb Ctime NS", "lustre.ost_lvb.lvb_ctime_ns", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ost_lvb_lvb_padding,
- { "padding", "lustre.ost_lvb.padding", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_connect_data_ocd_ibits_known,
- { "Ocd Ibits Known", "lustre.obd_connect_data.ocd_ibits_known", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lustre_msg_v2_lm_padding_3,
- { "Lm Padding 3", "lustre.lustre_msg_v2.lm_padding_3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ptlrpc_body_pb_flags,
- { "Pb Flags", "lustre.ptlrpc_body.pb_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_statfs_os_spare4,
- { "Os Spare4", "lustre.obd_statfs.os_spare4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_connect_data_ocd_group,
- { "Ocd Group", "lustre.obd_connect_data.ocd_group", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lov_ost_data_v1_l_object_seq,
- { "L Object SEQ", "lustre.lov_ost_data_v1.l_object_seq", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_connect_data_ocd_brw_size,
- { "Ocd Brw Size", "lustre.obd_connect_data.ocd_brw_size", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ptlrpc_body_pb_limit,
- { "Pb Limit", "lustre.ptlrpc_body.pb_limit", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_statfs_os_maxbytes,
- { "Os Maxbytes", "lustre.obd_statfs.os_maxbytes", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_statfs_os_spare5,
- { "Os Spare5", "lustre.obd_statfs.os_spare5", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lustre_msg_v2_lm_flags,
- { "Lm Flags", "lustre.lustre_msg_v2.lm_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_statfs_os_ffree,
- { "Os Ffree", "lustre.obd_statfs.os_ffree", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_statfs_os_files,
- { "Os Files", "lustre.obd_statfs.os_files", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lustre_msg_v1_lm_flags,
- { "Lm Flags", "lustre.lustre_msg_v1.lm_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_lustre_msg_v1_lm_last_committed,
- { "Lm Last Committed", "lustre.lustre_msg_v1.lm_last_committed", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_statfs_os_spare9,
- { "Os Spare9", "lustre.obd_statfs.os_spare9", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_connect_data_ocd_index,
- { "Ocd Index", "lustre.obd_connect_data.ocd_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lustre_msg_v1_lm_buflens,
- { "Lm Buflens", "lustre.lustre_msg_v1.lm_buflens", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_statfs_os_spare1,
- { "Os Spare1", "lustre.obd_statfs.os_spare1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_statfs_os_spare8,
- { "Os Spare8", "lustre.obd_statfs.os_spare8", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lustre_msg_v1_lm_conn_cnt,
- { "Lm Conn Cnt", "lustre.lustre_msg_v1.lm_conn_cnt", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ptlrpc_body_pb_transno,
- { "Pb Transno", "lustre.ptlrpc_body.pb_transno", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ptlrpc_body_pb_service_time,
- { "Pb Service Time", "lustre.ptlrpc_body.pb_service_time",FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ptlrpc_body_pb_conn_cnt,
- { "Pb Conn Cnt", "lustre.ptlrpc_body.pb_conn_cnt", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ptlrpc_body_pb_opc,
- { "Pb Opc", "lustre.ptlrpc_body.pb_opc", FT_UINT32, BASE_DEC, VALS(lustre_op_codes), 0, "", HFILL }},
- { &hf_lustre_obd_connect_data_ocd_connect_flags,
- { "Ocd Connect Flags", "lustre.obd_connect_data.ocd_connect_flags",
- FT_UINT64 , BASE_HEX, NULL, 0, "", HFILL } },
- { &hf_lustre_lov_ost_data_v1_l_object_id,
- { "L Object Id", "lustre.lov_ost_data_v1.l_object_id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lov_ost_data_v1_l_ost_gen,
- { "L Ost Gen", "lustre.lov_ost_data_v1.l_ost_gen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_statfs_os_bfree,
- { "Os Bfree", "lustre.obd_statfs.os_bfree", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_connect_data_ocd_version,
- { "Ocd Version", "lustre.obd_connect_data.ocd_version",
- FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_obd_statfs_os_namelen,
- { "Os Namelen", "lustre.obd_statfs.os_namelen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_statfs_os_blocks,
- { "Os Blocks", "lustre.obd_statfs.os_blocks", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lustre_msg_v2_lm_secflvr,
- { "Lm Secflvr", "lustre.lustre_msg_v2.lm_secflvr", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lustre_msg_v1_lm_transno,
- { "Lm Transno", "lustre.lustre_msg_v1.lm_transno", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lustre_msg_v1_lm_opc,
- { "Lm Opc", "lustre.lustre_msg_v1.lm_opc", FT_UINT32, BASE_DEC, VALS(lustre_op_codes), 0, "", HFILL }},
- { &hf_lustre_obd_connect_data_ocd_grant,
- { "Ocd Grant", "lustre.obd_connect_data.ocd_grant", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_ioobj_ioo_bufcnt,
- { "Ioo Bufcnt", "lustre.obd_ioobj.ioo_bufcnt", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lustre_msg_v1_lm_version,
- { "Lm Version", "lustre.lustre_msg_v1.lm_version", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_statfs_os_spare7,
- { "Os Spare7", "lustre.obd_statfs.os_spare7", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_statfs_os_fsid,
- { "Os Fsid", "lustre.obd_statfs.os_fsid", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_connect_data_ocd_cksum_types,
- { "Ocd Cksum Types", "lustre.obd_connect_data.ocd_cksum_types",
- FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
- { &hf_lustre_obd_connect_data_ocd_max_easize,
- { "Ocd Max LOV EA Size", "lustre.obd_connect_data.ocd_max_easize",
- FT_UINT32, BASE_DEC, NULL, 0, "", HFILL } },
- { &hf_lustre_obd_connect_data_ocd_instance,
- { "Ocd Instance", "lustre.obd_connect_data.ocd_instance",
- FT_UINT32, BASE_DEC, NULL, 0, "", HFILL } },
- { &hf_lustre_obd_connect_data_ocd_maxbytes,
- { "Ocd Max Stripe Size (Bytes)",
- "lustre.obd_connect_data.ocd_maxbytes",
- FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
- { &hf_lustre_obd_connect_data_ocd_maxmodrpcs,
- { "Ocd Max Parallel Modify RPCs",
- "lustre.obd_connect_data.ocd_maxmodrpcs",
- FT_UINT16, BASE_DEC, NULL, 0, "", HFILL } },
-
- { &hf_lustre_ost_lvb_lvb_size,
- { "Lvb Size", "lustre.ost_lvb.lvb_size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_statfs_os_type,
- { "Os Type", "lustre.obd_statfs.os_type", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_statfs_os_spare6,
- { "Os Spare6", "lustre.obd_statfs.os_spare6", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_statfs_os_state,
- { "Os State", "lustre.obd_statfs.os_state", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_statfs_os_spare3,
- { "Os Spare3", "lustre.obd_statfs.os_spare3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lustre_msg_v2_lm_magic,
- { "Lm Magic", "lustre.lustre_msg_v2.lm_magic", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_ptlrpc_body_pb_last_seen,
- { "Pb Last Seen", "lustre.ptlrpc_body.pb_last_seen", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_ioobj_ioo_max_brw, /* TODO : create the
- corresponding value_string */
- { "Ioo Max BRW Size", "lustre.obd_ioobj.ioo_max_brw", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
- { &hf_lustre_ptlrpc_body_pb_last_xid,
- { "Pb Last Xid", "lustre.ptlrpc_body.pb_last_xid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ptlrpc_body_pb_status,
- { "Pb Status", "lustre.ptlrpc_body.pb_status", FT_INT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_niobuf_remote_flags,
- { "Flags", "lustre.niobuf_remote.flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_ll_fid_id,
- { "Id", "lustre.ll_fid.id", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_ost_lvb_lvb_blocks,
- { "Lvb Blocks", "lustre.ost_lvb.lvb_blocks", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lustre_msg_v2_lm_padding_2,
- { "Lm Padding 2", "lustre.lustre_msg_v2.lm_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lov_ost_data_v1_l_ost_idx,
- { "L Ost Idx", "lustre.lov_ost_data_v1.l_ost_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_ioobj_ioo_seq,
- { "Ioo Gr", "lustre.obd_ioobj.ioo_seq", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_niobuf_remote_offset,
- { "Offset", "lustre.niobuf_remote.offset", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_statfs_os_spare2,
- { "Os Spare2", "lustre.obd_statfs.os_spare2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lustre_msg_v2_lm_bufcount,
- { "Lm Bufcount", "lustre.lustre_msg_v2.lm_bufcount", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ptlrpc_body_pb_handle,
- { "Pb Handle", "lustre.ptlrpc_body.pb_handle", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_obd_connect_data_ocd_transno,
- { "Ocd Transno", "lustre.obd_connect_data.ocd_transno", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lustre_msg_v1_lm_magic,
- { "Lm Magic", "lustre.lustre_msg_v1.lm_magic", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ptlrpc_body_pb,
- { "ptl rpc", "lustre.ptlrpc_body", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
-
- { &hf_lustre_obd_uuid,
- { "obd uid name", "lustre.obd_uid", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
- { &hf_lustre_obd_connect_data ,
- { "obd connect data", "lustre.obd_connect_data", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
-
- { &hf_lustre_ldlm_intent,
- { "ldlm intent", "lustre.ldlm_intent", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
-
- { &hf_lustre_obd_ioobj,
- { "lustre obd ioobj", "lustre.obd_ioobj", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
- { &hf_lustre_niobuf_remote,
- { "lustre niobuf remote", "lustre.niobuf_remote", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
- { &hf_lustre_ost_key,
- { "lustre ost key", "lustre.ost_key", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
- { &hf_lustre_ost_val,
- { "lustre ost val", "lustre.ost_val", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
- { &hf_lustre_llogd_chunk,
- { "lustre llogd chunk", "lustre.llogd_chunk", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
- { &hf_lustre_llogd_keyword,
- { "lustre llogd keyword", "lustre.llogd_keyword", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
- { &hf_lustre_llogd_client,
- { "lustre llogd client", "lustre.llogd_client", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
- { &hf_lustre_llogd_name,
- { "lustre llogd name", "lustre.llogd_name", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
- { &hf_lustre_llogd_log_hdr,
- { "lustre llogd log hdr", "lustre.llogd_log_hdr", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
- { &hf_lustre_llog_logid_rec,
- { "lustre llog logid rec", "lustre.llog_logid_rec", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
-
- { &hf_lustre_llogd_body,
- { "lustre llogd body", "lustre.llogd_body", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
- { &hf_lustre_nio,
- { "lustre nio", "lustre.nio", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
- { &hf_lustre_ost_body,
- { "ost body", "lustre.ost_body", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
- { &hf_lustre_obd_statfs,
- { "obd statfs", "lustre.obd_statfs", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
- { &hf_lustre_obd_quotactl,
- { "obd quotactl", "lustre.obd_quotacl", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
- { &hf_lustre_quota_adjust_qunit,
- { "obd quota adjust qunit", "lustre.quota_adjust_qunit", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
- { &hf_lustre_llog_unlink_rec_lur_tail,
- { "Lur Tail", "lustre.llog_unlink_rec.lur_tail", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_llog_size_change_rec_lsc_io_epoch,
- { "Lsc Io Epoch", "lustre.llog_size_change_rec.lsc_io_epoch", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mgs_target_info_mti_flags,
- { "Mti Flags", "lustre.mgs_target_info.mti_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_reply_lock_policy_res1,
- { "Lock Policy Res1", "lustre.ldlm_reply.lock_policy_res1", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llogd_body_lgd_len,
- { "Lgd Len", "lustre.llogd_body.lgd_len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_qunit_data_old_qd_id,
- { "Qd Id", "lustre.qunit_data_old.qd_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_logid_rec_padding1,
- { "Padding1", "lustre.llog_logid_rec.padding1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_quota_adjust_qunit_padding1,
- { "Padding1", "lustre.quota_adjust_qunit.padding1", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_size_change_rec_lsc_fid,
- { "Lsc Fid", "lustre.llog_size_change_rec.lsc_fid", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_llog_rec_hdr_padding,
- { "Padding", "lustre.llog_rec_hdr.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obdo_o_nlink,
- { "O Nlink", "lustre.obdo.o_nlink", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_extent_gid,
- { "Gid", "lustre.ldlm_extent.gid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obdo_o_uid,
- { "O Uid", "lustre.obdo.o_uid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mds_xattr_name,
- { "mds xattr name", "lustre.mds_xattr_name", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_cookie,
- { "llog cookie", "lustre.llog_cookie", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
- { &hf_lustre_mds_reint_opcode,
- { "mds reint opcode", "lustre.mds_reint_opcode", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
- { &hf_lustre_mds_xattr_eadata,
- { "mds xattr eadata", "lustre.mds_xattr_eadata", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
- { &hf_lustre_mds_xattr_eadata_str,
- { "mds xattr eadata", "lustre.mds_xattr_eadata.str", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
- { &hf_lustre_reint_name,
- { "mds reint name", "lustre.mds_reint_name", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
- { &hf_lustre_reint_old_name,
- { "mds reint old name", "lustre.mds_reint_old_name", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
- { &hf_lustre_reint_new_name,
- { "mds reint new name", "lustre.mds_reint_new_name", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
-
- { &hf_lustre_mds_md_data,
- { "mds md data", "lustre.lov_mds_md", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
- { &hf_lustre_lov_mds_md_v1,
- { "lov mds md", "lustre.lov_mds_md", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
- { &hf_lustre_lov_mds_md_lmm_magic,
- { "Lmm Magic", "lustre.lov_mds_md.lmm_magic", FT_UINT32, BASE_HEX, VALS(lustre_lov_magic) , 0, "", HFILL }},
- { &hf_lustre_lov_mds_md_lmm_stripe_size,
- { "Lmm Stripe Size", "lustre.lov_mds_md.lmm_stripe_size", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lov_mds_md_lmm_object_id,
- { "Lmm Object Id", "lustre.lov_mds_md.lmm_object_id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lov_mds_md_lmm_oi,
- { "Lmm Object Id", "lustre.lov_mds_md.lmm_oi", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
- { &hf_lustre_lov_mds_md_lmm_object_seq,
- { "Lmm Object SEQ", "lustre.lov_mds_md.lmm_object_seq", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lov_mds_md_lmm_stripe_count,
- { "Lmm Stripe Count", "lustre.lov_mds_md.lmm_stripe_count", FT_UINT16, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lov_mds_md_lmm_pattern,
- { "Lmm Pattern", "lustre.lov_mds_md.lmm_pattern", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lov_mds_md_lmm_layout_gen,
- { "Lmm Layout Generation", "lustre.lov_mds_md.lmm_layout_gen", FT_UINT16, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lov_mds_md_lmm_pool_name,
- { "Lmm Poolname", "lustre.lov_mds_md.lmm_poolname", FT_STRING, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_lov_mds_md_lmm_objects,
- { "Lmm Objects", "lustre.lov_mds_md.lmm_objects", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
-
- { &hf_lustre_ost_id_oi_id,
- { "OI Object Id", "lustre.ost_id.oi.oi_id", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_ost_id_oi_seq,
- { "OI Object Seq", "lustre.ost_id.oi.oi_seq", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL }},
-
- { &hf_lustre_obdo_o_valid,
- { "O Valid", "lustre.obdo.o_valid", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_reply_lock_flags,
- { "Lock Flags", "lustre.ldlm_reply.lock_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
-
-#define WSHARK_INIT_DATA
-#include "lustre_dlm_flags_wshark.c"
-#undef WSHARK_INIT_DATA
-
- { &hf_lustre_obdo_o_misc,
- { "O Misc", "lustre.obdo.o_misc", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_request_lock_handle,
- { "Lock Handle", "lustre.ldlm_request.lock_handle", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_llog_logid_lgl_oid,
- { "Lgl Oid", "lustre.llog_logid.lgl_oid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_inodebits_bits,
- { "Bits", "lustre.ldlm_inodebits.bits", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_log_hdr_llh_count,
- { "Llh Count", "lustre.llog_log_hdr.llh_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_gen_rec_lgr_tail,
- { "Lgr Tail", "lustre.llog_gen_rec.lgr_tail", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_llog_catid_lci_padding3,
- { "Lci Padding3", "lustre.llog_catid.lci_padding3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_qunit_data_qd_qunit,
- { "Qd Qunit", "lustre.qunit_data.qd_qunit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_setattr_rec_padding,
- { "Padding", "lustre.llog_setattr_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_cookie_lgc_lgl,
- { "Lgc Lgl", "lustre.llog_cookie.lgc_lgl", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_obd_quotactl_qc_dqinfo,
- { "Qc Dqinfo", "lustre.obd_quotactl.qc_dqinfo", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_llog_log_hdr_llh_bitmap,
- { "Llh Bitmap", "lustre.llog_log_hdr.llh_bitmap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_quotactl_qc_stat,
- { "Qc Stat", "lustre.obd_quotactl.qc_stat", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_qunit_data_old2_qd_id,
- { "Qd Id", "lustre.qunit_data_old2.qd_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_logid_rec_padding2,
- { "Padding2", "lustre.llog_logid_rec.padding2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_logid_rec_padding5,
- { "Padding5", "lustre.llog_logid_rec.padding5", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- /*-------------------------------------------------------------------------------------------------------------*/
- /*all this flags are uint64, but I don't find the way to use something like TFS() with a Uint64*/
- /*like TFS() with a Uint64 */
- { &hf_lustre_ldlm_intent_opc_open,
- { "open", "lustre.ldlm_intent.opc_open", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_OPEN, "", HFILL } },
- { &hf_lustre_ldlm_intent_opc_creat,
- { "creat", "lustre.ldlm_intent.opc_creat", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_CREAT , "", HFILL } },
- { &hf_lustre_ldlm_intent_opc_readdir,
- { "readdir", "lustre.ldlm_intent.opc_readdir", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_READDIR , "", HFILL } },
- { &hf_lustre_ldlm_intent_opc_getattr,
- { "getattr", "lustre.ldlm_intent.opc_getattr", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_GETATTR, "", HFILL } },
- { &hf_lustre_ldlm_intent_opc_lookup,
- { "lookup", "lustre.ldlm_intent.opc_lookup", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_LOOKUP , "", HFILL } },
- { &hf_lustre_ldlm_intent_opc_unlink,
- { "unlink", "lustre.ldlm_intent.opc_unlink", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_UNLINK , "", HFILL } },
- { &hf_lustre_ldlm_intent_opc_trunc,
- { "trunc", "lustre.ldlm_intent.opc_trunc", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_TRUNC , "", HFILL } },
- { &hf_lustre_ldlm_intent_opc_getxattr,
- { "getxattr", "lustre.ldlm_intent.opc_getxattr", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_GETXATTR , "", HFILL } },
- { &hf_lustre_ldlm_intent_opc_exec,
- { "exec", "lustre.ldlm_intent.opc_exec", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_EXEC , "", HFILL } },
- { &hf_lustre_ldlm_intent_opc_pin,
- { "pin", "lustre.ldlm_intent.opc_pin", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_PIN , "", HFILL } },
- { &hf_lustre_ldlm_intent_opc_layout,
- { "layout", "lustre.ldlm_intent.opc_layout", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_LAYOUT , "", HFILL } },
- { &hf_lustre_ldlm_intent_opc_q_dqacq,
- { "quota dqacq", "lustre.ldlm_intent.opc_quota_dqacq", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_QUOTA_DQACQ , "", HFILL } },
- { &hf_lustre_ldlm_intent_opc_q_conn,
- { "quota conn", "lustre.ldlm_intent.opc_quota_conn", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_QUOTA_CONN , "", HFILL } },
- { &hf_lustre_ldlm_intent_opc_setxattr,
- { "setxattr", "lustre.ldlm_intent.opc_setxattr", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_SETXATTR , "", HFILL } },
- /*-------------------------------------------------------------------*/
- { &hf_lustre_ldlm_intent_opc,
- { "intent opcode", "lustre.ldlm_intent.opc", FT_NONE, BASE_NONE, NULL, 0, "", HFILL}},
- { &hf_lustre_llog_rec_hdr_lrh_type,
- { "Lrh Type", "lustre.llog_rec_hdr.lrh_type", FT_UINT32, BASE_HEX, VALS(lustre_llog_op_type), 0, "", HFILL }},
- { &hf_lustre_llog_rec_hdr_lrh_len,
- { "Lrh Len", "lustre.llog_rec_hdr.lrh_len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_setattr_rec_lsr_uid,
- { "Lsr Uid", "lustre.llog_setattr_rec.lsr_uid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lov_desc_ld_padding_1,
- { "Ld Padding 1", "lustre.lov_desc.ld_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obdo_o_padding_4,
- { "O Padding 4", "lustre.obdo.o_padding_4", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mgs_target_info_padding,
- { "Padding", "lustre.mgs_target_info.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_quotactl_qc_dqblk,
- { "Qc Dqblk", "lustre.obd_quotactl.qc_dqblk", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_llogd_conn_body_lgdc_gen,
- { "Lgdc Gen", "lustre.llogd_conn_body.lgdc_gen", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_llog_log_hdr_llh_tail,
- { "Llh Tail", "lustre.llog_log_hdr.llh_tail", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_obdo_o_size,
- { "O Size", "lustre.obdo.o_size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_extent_start,
- { "Start", "lustre.ldlm_extent.start", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_size_change_rec_lsc_hdr,
- { "Lsc Hdr", "lustre.llog_size_change_rec.lsc_hdr", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_llog_logid_lgl_oseq,
- { "Lgl SEQ", "lustre.llog_logid.lgl_oseq", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_cookie_lgc_padding,
- { "Lgc Padding", "lustre.llog_cookie.lgc_padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_qunit_data_old_qd_type,
- { "Qd Type", "lustre.qunit_data_old.qd_type", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_flock_blocking_export,
- { "Blocking Export", "lustre.ldlm_flock.blocking_export", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lov_desc_ld_pattern,
- { "Ld Pattern", "lustre.lov_desc.ld_pattern", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_qunit_data_qd_id,
- { "Qd Id", "lustre.qunit_data.qd_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mgs_target_info_mti_fsname,
- { "Mti Fsname", "lustre.mgs_target_info.mti_fsname", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_request_lock_flags,
- { "Lock Flags", "lustre.ldlm_request.lock_flags", FT_UINT32, BASE_HEX, NULL, 0 , "", HFILL }},
- { &hf_lustre_obdo_o_mode,
- { "O Mode", "lustre.obdo.o_mode", FT_UINT32, BASE_OCT, NULL, 0, "", HFILL }},
- { &hf_lustre_mgs_target_info_mti_svname,
- { "Mti Svname", "lustre.mgs_target_info.mti_svname", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llogd_body_lgd_logid,
- { "Lgd Logid", "lustre.llogd_body.lgd_logid", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_llog_log_hdr_llh_size,
- { "Llh Size", "lustre.llog_log_hdr.llh_size", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obdo_o_handle,
- { "O Handle", "lustre.obdo.o_handle", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_obdo_o_atime,
- { "O Atime", "lustre.obdo.o_atime",FT_ABSOLUTE_TIME,
- ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
- { &hf_lustre_quota_adjust_qunit_qaq_id,
- { "Qaq Id", "lustre.quota_adjust_qunit.qaq_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_lock_desc_l_policy_data,
- { "L Policy Data", "lustre.ldlm_lock_desc.l_policy_data", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_obd_quotactl_qc_cmd,
- { "Qc Cmd", "lustre.obd_quotactl.qc_cmd", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_qunit_data_padding,
- { "Padding", "lustre.qunit_data.padding", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_quota_adjust_qunit_qaq_flags,
- { "Qaq Flags", "lustre.quota_adjust_qunit.qaq_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_lock_desc_l_granted_mode,
- { "L Granted Mode", "lustre.ldlm_lock_desc.l_granted_mode", FT_UINT16, BASE_DEC, VALS(lustre_ldlm_mode_vals), 0, "", HFILL }},
- { &hf_lustre_obdo_o_seq,
- { "O SEQ", "lustre.obdo.o_seq", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obdo_o_gid,
- { "O Gid", "lustre.obdo.o_gid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_catid_lci_logid,
- { "Lci Logid", "lustre.llog_catid.lci_logid", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_llog_rec_tail_lrt_index,
- { "Lrt Index", "lustre.llog_rec_tail.lrt_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lov_desc_ld_default_stripe_count,
- { "Ld Default Stripe Count", "lustre.lov_desc.ld_default_stripe_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_resource_desc_lr_padding,
- { "Lr Padding", "lustre.ldlm_resource_desc.lr_padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_cfg_marker_cm_vers,
- { "Cm Vers", "lustre.cfg_marker.cm_vers", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_unlink_rec_lur_hdr,
- { "Lur Hdr", "lustre.llog_unlink_rec.lur_hdr", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_llogd_body_lgd_index,
- { "Lgd Index", "lustre.llogd_body.lgd_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_cfg_marker_cm_tgtname,
- { "Cm Tgtname", "lustre.cfg_marker.cm_tgtname", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_setattr_rec_lsr_ogen,
- { "Lsr Ogen", "lustre.llog_setattr_rec.lsr_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_logid_rec_lid_hdr,
- { "Lid Hdr", "lustre.llog_logid_rec.lid_hdr", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_obdo_o_ioepoch,
- { "O IOEpoch", "lustre.obdo.o_ioepoch", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ost_body_oa,
- { "Oa", "lustre.ost_body.oa", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_llog_logid_rec_padding3,
- { "Padding3", "lustre.llog_logid_rec.padding3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_log_hdr_llh_flags,
- { "Llh Flags", "lustre.llog_log_hdr.llh_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_hdr_llh_flag_zap_when_empty,
- {"LLOG_F_ZAP_WHEN_EMPTY", "lustre.lustre.llog_log_hdr.llh_flag_zap",
- FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth),
- LLOG_F_ZAP_WHEN_EMPTY, "", HFILL } },
- { &hf_lustre_llog_hdr_llh_flag_is_cat,
- { "LLOG_F_IS_CAT", "lustre.lustre.llog_log_hdr.llh_flag_cat",
- FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth),
- LLOG_F_IS_CAT, "", HFILL } },
- { &hf_lustre_llog_hdr_llh_flag_is_play,
- { "LLOG_F_IS_PLAIN", "lustre.lustre.llog_log_hdr.llh_flag_play",
- FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth),
- LLOG_F_IS_PLAIN, "", HFILL } },
-
- { &hf_lustre_llog_setattr_rec_lsr_oid,
- { "Lsr Oid", "lustre.llog_setattr_rec.lsr_oid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_size_change_rec_padding,
- { "Padding", "lustre.llog_size_change_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mgs_target_info_mti_config_ver,
- { "Mti Config Ver", "lustre.mgs_target_info.mti_config_ver", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_cfg_marker_cm_createtime,
- { "Cm Createtime", "lustre.cfg_marker.cm_createtime",FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_qunit_data_old_qd_count,
- { "Qd Count", "lustre.qunit_data_old.qd_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_catid_lci_padding1,
- { "Lci Padding1", "lustre.llog_catid.lci_padding1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lov_desc_ld_active_tgt_count,
- { "Ld Active Tgt Count", "lustre.lov_desc.ld_active_tgt_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obdo_o_lcookie,
- { "O Lcookie", "lustre.obdo.o_lcookie", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_llog_gen_rec_lgr_gen,
- { "Lgr Gen", "lustre.llog_gen_rec.lgr_gen", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_obdo_o_id,
- { "O Id", "lustre.obdo.o_id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mgs_target_info_mti_uuid,
- { "Mti Uuid", "lustre.mgs_target_info.mti_uuid", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_rec_hdr_lrh_index,
- { "Lrh Index", "lustre.llog_rec_hdr.lrh_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_setattr_rec_lsr_hdr,
- { "Lsr Hdr", "lustre.llog_setattr_rec.lsr_hdr", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_mgs_target_info_mti_stripe_index,
- { "Mti Stripe Index", "lustre.mgs_target_info.mti_stripe_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_gen_conn_cnt,
- { "Conn Cnt", "lustre.llog_gen.conn_cnt", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obdo_o_padding_6,
- { "O Padding 6", "lustre.obdo.o_padding_6", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_cookie_lgc_index,
- { "Lgc Index", "lustre.llog_cookie.lgc_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lov_desc_ld_uuid,
- { "Ld Uuid", "lustre.lov_desc.ld_uuid", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_ldlm_reply_lock_desc,
- { "Lock Desc", "lustre.ldlm_reply.lock_desc", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_lov_desc_ld_padding_0,
- { "Ld Padding 0", "lustre.lov_desc.ld_padding_0", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_unlink_rec_lur_ogen,
- { "Lur Ogen", "lustre.llog_unlink_rec.lur_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_cfg_marker_cm_flags,
- { "Cm Flags", "lustre.cfg_marker.cm_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_obdo_o_padding_3,
- { "O Padding 3", "lustre.obdo.o_padding_3", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_request_lock_desc,
- { "Lock Desc", "lustre.ldlm_request.lock_desc", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_obdo_o_flags,
- { "O Flags", "lustre.obdo.o_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_mgs_target_info_mti_params,
- { "Mti Params", "lustre.mgs_target_info.mti_params", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_logid_lgl_ogen,
- { "Lgl Ogen", "lustre.llog_logid.lgl_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_cfg_marker_cm_comment,
- { "Cm Comment", "lustre.cfg_marker.cm_comment", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_unlink_rec_lur_oid,
- { "Lur Oid", "lustre.llog_unlink_rec.lur_oid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_qunit_data_qd_count,
- { "Qd Count", "lustre.qunit_data.qd_count", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obdo_o_mtime,
- { "O Mtime", "lustre.obdo.o_mtime",FT_ABSOLUTE_TIME,
- ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
- { &hf_lustre_obdo_o_blksize,
- { "O Blksize", "lustre.obdo.o_blksize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_res_id_name,
- { "Name", "lustre.ldlm_res_id.name", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_reply_lock_handle,
- { "Lock Handle", "lustre.ldlm_reply.lock_handle", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_llogd_body_lgd_saved_index,
- { "Lgd Saved Index", "lustre.llogd_body.lgd_saved_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_qunit_data_old_qd_isblk,
- { "Qd Isblk", "lustre.qunit_data_old.qd_isblk", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obdo_o_blocks,
- { "O Blocks", "lustre.obdo.o_blocks", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lov_desc_ld_padding_2,
- { "Ld Padding 2", "lustre.lov_desc.ld_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_logid_rec_lid_tail,
- { "Lid Tail", "lustre.llog_logid_rec.lid_tail", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_obdo_o_grant,
- { "O Grant", "lustre.obdo.o_grant", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obdo_o_uid_h,
- { "O Uid H", "lustre.obdo.o_uid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obdo_o_gid_h,
- { "O Gid H", "lustre.obdo.o_gid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_quota_adjust_qunit_qaq_iunit_sz,
- { "Qaq Iunit Sz", "lustre.quota_adjust_qunit.qaq_iunit_sz", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_unlink_rec_padding,
- { "Padding", "lustre.llog_unlink_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_lock_desc_l_req_mode,
- { "L Req Mode", "lustre.ldlm_lock_desc.l_req_mode", FT_UINT16, BASE_DEC, VALS(lustre_ldlm_mode_vals), 0, "", HFILL }},
- { &hf_lustre_ldlm_extent_end,
- { "End", "lustre.ldlm_extent.end", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_gen_rec_lgr_hdr,
- { "Lgr Hdr", "lustre.llog_gen_rec.lgr_hdr", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_llogd_body_lgd_llh_flags,
- { "Lgd Llh Flags", "lustre.llogd_body.lgd_llh_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_log_hdr_llh_cat_idx,
- { "Llh Cat Idx", "lustre.llog_log_hdr.llh_cat_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_log_hdr_llh_bitmap_offset,
- { "Llh Bitmap Offset", "lustre.llog_log_hdr.llh_bitmap_offset", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_reply_lock_padding,
- { "Lock Padding", "lustre.ldlm_reply.lock_padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_quotactl_qc_id,
- { "Qc Id", "lustre.obd_quotactl.qc_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_logid_rec_padding4,
- { "Padding4", "lustre.llog_logid_rec.padding4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_setattr_rec_lsr_gid,
- { "Lsr Gid", "lustre.llog_setattr_rec.lsr_gid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_quotactl_qc_type,
- { "Qc Type", "lustre.obd_quotactl.qc_type", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_cfg_marker_padding,
- { "Padding", "lustre.cfg_marker.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mgs_target_info_mti_nids,
- { "Mti Nids", "lustre.mgs_target_info.mti_nids", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obdo_o_stripe_idx,
- { "O Stripe Idx", "lustre.obdo.o_stripe_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llogd_conn_body_lgdc_logid,
- { "Lgdc Logid", "lustre.llogd_conn_body.lgdc_logid", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_ldlm_flock_blocking_pid,
- { "Blocking Pid", "lustre.ldlm_flock.blocking_pid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lov_desc_ld_tgt_count,
- { "Ld Tgt Count", "lustre.lov_desc.ld_tgt_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llogd_body_lgd_cur_offset,
- { "Lgd Cur Offset", "lustre.llogd_body.lgd_cur_offset", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_qunit_data_old2_qd_count,
- { "Qd Count", "lustre.qunit_data_old2.qd_count", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_opnum,
- { "Operation", "lustre.opnum", FT_UINT16, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_qunit_data_old2_qd_flags,
- { "Qd Flags", "lustre.qunit_data_old2.qd_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_flock_start,
- { "Start", "lustre.ldlm_flock.start", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_quota_adjust_qunit_qaq_bunit_sz,
- { "Qaq Bunit Sz", "lustre.quota_adjust_qunit.qaq_bunit_sz", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_flock_pid,
- { "Pid", "lustre.ldlm_flock.pid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lov_desc_ld_default_stripe_size,
- { "Ld Default Stripe Size", "lustre.lov_desc.ld_default_stripe_size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_log_hdr_llh_tgtuuid,
- { "Llh Tgtuuid", "lustre.llog_log_hdr.llh_tgtuuid",
- FT_STRING, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_cfg_marker_cm_step,
- { "Cm Step", "lustre.cfg_marker.cm_step", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mgs_send_param_mgs_param,
- { "Mgs Param", "lustre.mgs_send_param.mgs_param", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lov_desc_ld_default_stripe_offset,
- { "Ld Default Stripe Offset", "lustre.lov_desc.ld_default_stripe_offset", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_resource_desc_lr_name,
- { "Lr Name", "lustre.ldlm_resource_desc.lr_name", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_llog_rec_tail_lrt_len,
- { "Lrt Len", "lustre.llog_rec_tail.lrt_len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_log_hdr_llh_timestamp,
- { "Llh Timestamp", "lustre.llog_log_hdr.llh_timestamp", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
- { &hf_lustre_llog_catid_lci_padding2,
- { "Lci Padding2", "lustre.llog_catid.lci_padding2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llogd_conn_body_lgdc_ctxt_idx,
- { "Lgdc Ctxt Idx", "lustre.llogd_conn_body.lgdc_ctxt_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_cfg_marker_cm_canceltime,
- { "Cm Canceltime", "lustre.cfg_marker.cm_canceltime",FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
- { &hf_lustre_mgs_target_info_mti_lustre_ver,
- { "Mti Lustre Ver", "lustre.mgs_target_info.mti_lustre_ver", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obdo_o_parent_ver,
- { "O Parent VER", "lustre.obdo.o_parent_ver", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_qunit_data_qd_flags,
- { "Qd Flags", "lustre.qunit_data.qd_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_logid_rec_lid_id,
- { "Lid Id", "lustre.llog_logid_rec.lid_id", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_obdo_o_parent_oid,
- { "O Parent OID", "lustre.obdo.o_parent_oid", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_gen_mnt_cnt,
- { "Mnt Cnt", "lustre.llog_gen.mnt_cnt", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_size_change_rec_lsc_tail,
- { "Lsc Tail", "lustre.llog_size_change_rec.lsc_tail", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_obdo_o_padding_5,
- { "O Padding 5", "lustre.obdo.o_padding_5", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_lock_desc_l_resource,
- { "L Resource", "lustre.ldlm_lock_desc.l_resource", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_obdo_o_parent_seq,
- { "O Parent SEQ", "lustre.obdo.o_parent_seq", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_request_lock_count,
- { "Lock Count", "lustre.ldlm_request.lock_count", FT_UINT32, BASE_HEX_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_flock_end,
- { "End", "lustre.ldlm_flock.end", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mgs_target_info_mti_nid_count,
- { "Mti Nid Count", "lustre.mgs_target_info.mti_nid_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- /* -------------------------------------------------------------------- */
- { &hf_lustre_mgs_target_info,
- { "mgs target info", "lustre.mgs_target_info", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
- { &hf_lustre_mgs_send_param,
- { "mgs send param", "lustre.mgs_send_param", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
-
- { &hf_lustre_mgs_config_body,
- { "mgs config body", "lustre.mgs_config_body", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
- { &hf_lustre_mgs_config_body_name,
- { "mcb name", "lustre.mgs_config_body.name", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
- { &hf_lustre_mgs_config_body_offset,
- { "mcb offset", "lustre.mgs_config_body.offset", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mgs_config_body_type,
- { "mcb type", "lustre.mgs_config_body.type", FT_UINT16, BASE_DEC, VALS(lustre_mgs_config_body_types), 0, "", HFILL }},
- { &hf_lustre_mgs_config_body_reserved,
- { "mcb reserved", "lustre.mgs_config_body.type", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mgs_config_body_bits,
- { "mcb bit shift", "lustre.mgs_config_body.type", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mgs_config_body_units,
- { "mcb units", "lustre.mgs_config_body.type", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
-
- { &hf_lustre_mgs_config_res,
- { "mgs config res", "lustre.mgs_config_res", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
- { &hf_lustre_mgs_config_res_offset,
- { "mcr offset", "lustre.mgs_config_res.offset", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_mgs_config_res_size,
- { "mcr size", "lustre.mgs_config_res.size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
-
- /* -------------------------------------------------------------------- */
- { &hf_lustre_ost_lvb,
- { "ost lvb data", "lustre.ost_lvb", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
-
- { &hf_lustre_xattrs,
- { "XATTR", "lustre.xattr", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
- { &hf_lustre_xattrs_name,
- { "xattr name", "lustre.xattr.name", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
- { &hf_lustre_xattrs_data,
- { "xattr data", "lustre.xattr.data", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
- { &hf_lustre_xattrs_size,
- { "xattr size", "lustre.xattr.size", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
-
- { &hf_lustre_obdo_o_ctime,
- { "O Ctime", "lustre.obdo.o_ctime",FT_ABSOLUTE_TIME,
- ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
- { &hf_lustre_ldlm_reply_lock_policy_res2,
- { "Lock Policy Res2", "lustre.ldlm_reply.lock_policy_res2", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llogd_body_lgd_ctxt_idx,
- { "Lgd Ctxt Idx", "lustre.llogd_body.lgd_ctxt_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_lov_desc_ld_qos_maxage,
- { "Ld Qos Maxage", "lustre.lov_desc.ld_qos_maxage", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_resource_desc_lr_type,
- { "Lr Type", "lustre.ldlm_resource_desc.lr_type", FT_UINT16, BASE_DEC, VALS(lustre_ldlm_type_vals), 0, "", HFILL }},
- { &hf_lustre_llog_setattr_rec_lsr_tail,
- { "Lsr Tail", "lustre.llog_setattr_rec.lsr_tail", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_llog_cookie_lgc_subsys,
- { "Lgc Subsys", "lustre.llog_cookie.lgc_subsys", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_llog_log_hdr_llh_hdr,
- { "Llh Hdr", "lustre.llog_log_hdr.llh_hdr", FT_NONE,
- BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_llog_log_hdr_llh_reserved,
- { "Llh Reserved", "lustre.llog_log_hdr.llh_reserved", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
-
- { &hf_lustre_extra_padding,
- { "extra padding", "lustre.msg_v2_extra_padding", FT_NONE, BASE_NONE, NULL, 0, "", HFILL}},
- { &hf_lustre_ldlm_reply,
- { "ldlm reply", "lustre.ldlm_reply", FT_NONE, BASE_NONE, NULL, 0, "", HFILL}},
- { &hf_lustre_ldlm_request,
- { "ldlm request", "lustre.ldlm_request", FT_NONE, BASE_NONE, NULL, 0, "", HFILL}},
-
- /* add for lustre_user.h */
- { &hf_lustre_obd_dqinfo_dqi_valid,
- { "Dqi Valid", "lustre.obd_dqinfo.dqi_valid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_dqblk_dqb_isoftlimit,
- { "Dqb Isoftlimit", "lustre.obd_dqblk.dqb_isoftlimit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_dqblk_dqb_bhardlimit,
- { "Dqb Bhardlimit", "lustre.obd_dqblk.dqb_bhardlimit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_dqblk_dqb_curspace,
- { "Dqb Curspace", "lustre.obd_dqblk.dqb_curspace", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_dqblk_dqb_itime,
- { "Dqb Itime", "lustre.obd_dqblk.dqb_itime", FT_ABSOLUTE_TIME,
- ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
- { &hf_lustre_obd_dqblk_dqb_valid,
- { "Dqb Valid", "lustre.obd_dqblk.dqb_valid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_dqinfo_dqi_igrace,
- { "Dqi Igrace", "lustre.obd_dqinfo.dqi_igrace", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_dqinfo_dqi_bgrace,
- { "Dqi Bgrace", "lustre.obd_dqinfo.dqi_bgrace", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_dqblk_padding,
- { "Padding", "lustre.obd_dqblk.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_dqblk_dqb_curinodes,
- { "Dqb Curinodes", "lustre.obd_dqblk.dqb_curinodes", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_dqblk_dqb_bsoftlimit,
- { "Dqb Bsoftlimit", "lustre.obd_dqblk.dqb_bsoftlimit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_dqinfo_dqi_flags,
- { "Dqi Flags", "lustre.obd_dqinfo.dqi_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
- { &hf_lustre_obd_dqblk_dqb_btime,
- { "Dqb Btime", "lustre.obd_dqblk.dqb_btime", FT_ABSOLUTE_TIME,
- ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
- { &hf_lustre_obd_dqblk_dqb_ihardlimit,
- { "Dqb Ihardlimit", "lustre.obd_dqblk.dqb_ihardlimit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
-
- /* seq */
- { &hf_lustre_seq_opc,
- { "Seq OPC", "lustre.seq_opc", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL } },
- { &hf_lustre_seq_range,
- { "Seq Range", "lustre.seq_range", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_seq_range_start,
- { "Seq Range Start", "lustre.seq_range.start", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL } },
- { &hf_lustre_seq_range_end,
- { "Seq Range End", "lustre.seq_range.end", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL } },
- { &hf_lustre_seq_range_index,
- { "Seq Range Index", "lustre.seq_range.index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL } },
- { &hf_lustre_seq_range_flags,
- { "Seq Range Flags", "lustre.seq_range.flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
-
- /* fld */
- { &hf_lustre_fld_opc,
- { "Fld OPC", "lustre.fld_opc", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL } },
- { &hf_lustre_fld_range,
- { "Fld Range", "lustre.fld_range", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_fld_range_start,
- { "Fld Range Start", "lustre.fld_range.start", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL } },
- { &hf_lustre_fld_range_end,
- { "Fld Range End", "lustre.fld_range.end", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL } },
- { &hf_lustre_fld_range_index,
- { "Fld Range Index", "lustre.fld_range.index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL } },
- { &hf_lustre_fld_range_flags,
- { "Fld Range Flags", "lustre.fld_range.flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
-
- /* struct mdt_ioepoch */
- { &hf_lustre_mdt_ioepoch,
- { "MDT ioepoch", "lustre.mdt_ioepoch", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_ioepoch_handle,
- { "Handle", "lustre.mdt_ioepoch.handle", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_ioepoch_ioepoch,
- { "ioepoch", "lustre.mdt_ioepoch.ioepoch", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_ioepoch_flags,
- { "flags", "lustre.mdt_ioepoch.flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_ioepoch_padding,
- { "Padding", "lustre.mdt_ioepoch.padding", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
-
- /* struct lustre_capa */
- { &hf_lustre_capa,
- { "Capability", "lustre.capa", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_capa_fid,
- { "Capa fid", "lustre.capa.fid", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_capa_opc,
- { "Capa opc", "lustre.capa.opc", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL } },
- { &hf_lustre_capa_uid,
- { "Capa uid", "lustre.capa.uid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
- { &hf_lustre_capa_gid,
- { "Capa gid", "lustre.capa.gid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
- { &hf_lustre_capa_flags,
- { "Capa flags", "lustre.capa.flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
- { &hf_lustre_capa_keyid,
- { "Capa keyid", "lustre.capa.keyid", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
- { &hf_lustre_capa_timeout,
- { "Capa timeout", "lustre.capa.timeout", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL } },
- { &hf_lustre_capa_expiry,
- { "Capa expiry", "lustre.capa.expiry", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL } },
- { &hf_lustre_capa_hmac,
- { "Capa hmac", "lustre.capa.hmac", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
-
- /* ACL */
- { &hf_lustre_acl,
- { "ACL", "lustre.acl", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
-
- /* MDT Getinfo */
- { &hf_lustre_mdt_getinfo_key,
- { "MDT getinfo key", "lustre.mdt_getinfo.key", FT_STRING, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_getinfo_vallen,
- { "MDT getinfo Val Len", "lustre.mdt_getinfo.vallen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL } },
- { &hf_lustre_mdt_getinfo_data,
- { "MDT getinfo data", "lustre.mdt_getinfo.data", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
-
- /* Close Data */
- { &hf_lustre_close_data,
- { "MDT Close", "lustre.mdt_close", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_close_fid,
- { "Close FID", "lustre.mdt_close.fid", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_close_data_ver,
- { "Close data version", "lustre.mdt_close.data_ver", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL } },
- { &hf_lustre_close_reserved,
- { "Close Reserved Space", "lustre.mdt_close.reserved", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
-
- /* LDLM SET INFO */
- { &hf_lustre_ldlm_key,
- { "LDLM Set Info Key", "lustre.ldlm.key", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
- { &hf_lustre_ldlm_value,
- { "LDLM Set Info Value", "lustre.ldlm.value", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
-
- /* HSM Request */
- { &hf_lustre_hsm_request,
- { "HSM Request", "lustre.hsm_req", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_hsm_req_action,
- { "HSM Req Action", "lustre.hsm_req.action", FT_UINT32, BASE_HEX, VALS(lustre_hsm_user_action_t_vals), 0, "", HFILL } },
- { &hf_lustre_hsm_req_archive_id,
- { "HSM Req Archive ID", "lustre.hsm_req.archive_id", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
- { &hf_lustre_hsm_req_flags,
- { "HSM Req Flags", "lustre.hsm_req.flags", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL } },
- { &hf_lustre_hsm_req_itemcount,
- { "HSM Req Itemcount", "lustre.hsm_req.itemcount", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL } },
- { &hf_lustre_hsm_req_data_len,
- { "HSM Req Data Length", "lustre.hsm_req.data_len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL } },
-
- { &hf_lustre_hsm_user_item,
- { "HSM User Item", "lustre.user_item", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_hsm_user_item_fid,
- { "HSM User Item FID", "lustre.user_item.fid", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_hsm_user_item_extent,
- { "HSM User Item Extent", "lustre.user_item.extent", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
-
- { &hf_lustre_hsm_extent,
- { "HSM Extent", "lustre.hsm_extent", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_hsm_extent_offset,
- { "HSM Extent Offset", "lustre.hsm_extent.offset", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
- { &hf_lustre_hsm_extent_length,
- { "HSM Extent Length", "lustre.hsm_extent.len", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
-
- { &hf_lustre_hsm_progress,
- { "HSM Progress", "lustre.hsm_progress", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_hsm_prog_fid,
- { "HSM Prog FID", "lustre.hsm_progress.fid", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_hsm_prog_cookie,
- { "HSM Prog Cookie", "lustre.hsm_progress.cookie", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL } },
- { &hf_lustre_hsm_prog_extent,
- { "HSM Prog Extent", "lustre.hsm_progress.extent", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_hsm_prog_flags,
- { "HSM Prog Flags", "lustre.hsm_progress.flags", FT_UINT16, BASE_HEX, NULL, 0, "", HFILL } },
- { &hf_lustre_hsm_prog_errval,
- { "HSM Prog Error Val", "lustre.hsm_progress.errval", FT_UINT16, BASE_HEX, NULL, 0, "", HFILL } },
- { &hf_lustre_hsm_prog_data_ver,
- { "HSM Prog Data Version", "lustre.hsm_progress.data_ver", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL } },
-
- { &hf_lustre_hsm_state_get,
- { "HSM State GET", "lustre.hsm_state_get", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_hsm_us_states,
- { "States", "lustre.hsm_state_get.states", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
- { &hf_lustre_hsm_us_archive_id,
- { "Archive ID", "lustre.hsm_state_get.archive_id", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
- { &hf_lustre_hsm_us_in_prog_state,
- { "In Progress State", "lustre.hsm_state_get.in_prog.state", FT_UINT32, BASE_HEX, VALS(lustre_hsm_progress_state_t_vals), 0, "", HFILL } },
- { &hf_lustre_hsm_us_in_prog_action,
- { "In Progress Action", "lustre.hsm_state_get.in_prog.action", FT_UINT32, BASE_HEX, VALS(lustre_hsm_user_action_t_vals), 0, "", HFILL } },
- { &hf_lustre_hsm_us_in_prog_location,
- { "In Progress Extent", "lustre.hsm_state_get.in_prog.location", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_hsm_us_ext_info,
- { "Extended Info", "lustre.hsm_state_get.ext_info", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
-
- { &hf_lustre_qb,
- { "Quota Body", "lustre.quota_body", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_qb_fid,
- { "Fid", "lustre.quota_body.fid", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_qb_id,
- { "ID", "lustre.quota_body.id", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_qb_flags,
- { "Flags", "lustre.quota_body.flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
- { &hf_lustre_qb_padding,
- { "padding", "lustre.quota_body.padding", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_qb_count,
- { "Count", "lustre.quota_body.count", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
- { &hf_lustre_qb_usage,
- { "Usage", "lustre.quota_body.usage", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
- { &hf_lustre_qb_slv_ver,
- { "Slave Ver", "lustre.quota_body.slv_ver", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
- { &hf_lustre_qb_lockh,
- { "Per-ID Lock Handle", "lustre.quota_body.lockh", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_qb_glb_lockh,
- { "Global Lock Handle", "lustre.quota_body.glb_lockh", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
-
- { &hf_lustre_qid_fid,
- { "Fid", "lustre.lquota_id.fid", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_qid_uid,
- { "UID", "lustre.lquota_id.uid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
- { &hf_lustre_qid_gid,
- { "GID", "lustre.lquota_id.gid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
-
- { &hf_lustre_layout_intent,
- { "Layout Intent", "lustre.layout_intent", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
- { &hf_lustre_layout_intent_opc,
- { "Op Code", "lustre.layout_intent.opc", FT_UINT32, BASE_HEX, VALS(lustre_layout_intent_opc_values), 0, "", HFILL } },
- { &hf_lustre_layout_intent_flags,
- { "Flags", "lustre.layout_intent.flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
- { &hf_lustre_layout_intent_start,
- { "Start", "lustre.layout_intent.start", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
- { &hf_lustre_layout_intent_end,
- { "End", "lustre.layout_intent.end", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
-
- { &hf_lustre_generic_data,
- { "generic data", "lustre.generic_data", FT_NONE, BASE_NONE, NULL, 0, "", HFILL}},
- };
-
-
- static gint *ett[] = {
- &ett_lustre,
- &ett_lustre_lustre_handle_cookie,
- &ett_lustre_lustre_msg_v1,
- &ett_lustre_lustre_handle_v1,
- &ett_lustre_lustre_msg_v2,
- &ett_lustre_ptlrpc_body,
- &ett_lustre_lustre_handle_v2,
- &ett_lustre_obd_connect_data,
- &ett_lustre_lov_mds_md_v1,
- &ett_lustre_lov_mds_md_v3,
- &ett_lustre_lov_ost_data_v1,
- &ett_lustre_obd_statfs,
- &ett_lustre_obd_ioobj,
- &ett_lustre_niobuf_remote,
- &ett_lustre_ost_lvb,
- &ett_lustre_ll_fid,
- &ett_lustre_obd_quotactl,
- &ett_lustre_obd_dqinfo,
- &ett_lustre_obd_dqblk,
- &ett_lustre_quota_adjust_qunit,
- &ett_lustre_mdt_body,
- &ett_lustre_mdt_rec_setattr,
- &ett_lustre_mdt_rec_create,
- &ett_lustre_mdt_rec_link,
- &ett_lustre_mdt_rec_unlink,
- &ett_lustre_mdt_rec_rename,
- &ett_lustre_mdt_rec_setxattr,
- &ett_lustre_lov_desc,
- &ett_lustre_obd_uuid,
- &ett_lustre_ldlm_res_id,
- &ett_lustre_ldlm_extent,
- &ett_lustre_ldlm_inodebits,
- &ett_lustre_ldlm_flock,
- &ett_lustre_ldlm_intent_opc,
- &ett_lustre_ldlm_resource_desc,
- &ett_lustre_ldlm_lock_desc,
- &ett_lustre_ldlm_request,
- &ett_lustre_lustre_handle,
- &ett_lustre_ldlm_reply,
- &ett_lustre_mgs_send_param,
- &ett_lustre_mgs_target_info,
- &ett_lustre_mgs_config_body,
- &ett_lustre_mgs_config_res,
- &ett_lustre_cfg_marker,
- &ett_lustre_llog_catid,
- &ett_lustre_llog_logid,
- &ett_lustre_lov_mds_md,
- &ett_lustre_llog_rec_hdr,
- &ett_lustre_llog_rec_tail,
- &ett_lustre_llog_logid_rec,
- &ett_lustre_llog_unlink_rec,
- &ett_lustre_llog_setattr_rec,
- &ett_lustre_llog_size_change_rec,
- &ett_lustre_llog_gen,
- &ett_lustre_llog_gen_rec,
- &ett_lustre_llog_log_hdr,
- &ett_lustre_llog_cookie,
- &ett_lustre_llogd_body,
- &ett_lustre_llogd_conn_body,
- &ett_lustre_obdo,
- &ett_lustre_ost_body,
- &ett_lustre_qunit_data,
- &ett_lustre_qunit_data_old2,
- &ett_lustre_qunit_data_old,
- &ett_lustre_ldlm_lock_flags,
- &ett_lustre_llog_log_llh_flags,
- &ett_lustre_seq_range,
- &ett_lustre_fld_range,
- &ett_lustre_mdt_ioepoch,
- &ett_lustre_capa,
- &ett_lustre_close_data,
- &ett_lustre_acl,
- &ett_lustre_ladvise,
- &ett_lustre_hsm_request,
- &ett_lustre_hsm_user_item,
- &ett_lustre_hsm_extent,
- &ett_lustre_hsm_progress,
- &ett_lustre_hsm_user_state,
- &ett_lustre_quota_body,
- &ett_lustre_lquota_id,
- &ett_lustre_layout_intent,
- &ett_lustre_xattrs,
- &ett_lustre_ost_id,
- };
-
- proto_lustre = proto_register_protocol("Lustre", "lustre", "lustre");
- proto_register_field_array(proto_lustre, hf, array_length (hf));
- proto_register_subtree_array(ett, array_length(ett));
-}
-
-
-void proto_reg_handoff_lustre(void)
-{
- dissector_handle_t lustre_handle;
- lustre_handle=create_dissector_handle(dissect_lustre, proto_lustre);
- /* we use Lustre only if we get ptl_index = One of this code (we have removed the bulk code) */
- /* in LNET we test if the message is a put or not before adding an lnet.ptl_index value */
- dissector_add_uint("lnet.ptl_index", MDC_REPLY_PORTAL , lustre_handle);
- dissector_add_uint("lnet.ptl_index", CONNMGR_REQUEST_PORTAL , lustre_handle);
- dissector_add_uint("lnet.ptl_index", CONNMGR_REPLY_PORTAL , lustre_handle);
- dissector_add_uint("lnet.ptl_index", OSC_REPLY_PORTAL , lustre_handle);
- dissector_add_uint("lnet.ptl_index", OST_IO_PORTAL , lustre_handle);
- dissector_add_uint("lnet.ptl_index", OST_CREATE_PORTAL , lustre_handle);
- dissector_add_uint("lnet.ptl_index", MDC_REPLY_PORTAL , lustre_handle);
- dissector_add_uint("lnet.ptl_index", MDS_REQUEST_PORTAL , lustre_handle);
- dissector_add_uint("lnet.ptl_index", LDLM_CB_REQUEST_PORTAL , lustre_handle);
- dissector_add_uint("lnet.ptl_index", LDLM_CB_REPLY_PORTAL , lustre_handle);
- dissector_add_uint("lnet.ptl_index", LDLM_CANCEL_REQUEST_PORTAL, lustre_handle);
- dissector_add_uint("lnet.ptl_index", LDLM_CANCEL_REPLY_PORTAL , lustre_handle);
- dissector_add_uint("lnet.ptl_index", MDS_SETATTR_PORTAL , lustre_handle);
- dissector_add_uint("lnet.ptl_index", MDS_READPAGE_PORTAL , lustre_handle);
- dissector_add_uint("lnet.ptl_index", MGC_REPLY_PORTAL , lustre_handle);
- dissector_add_uint("lnet.ptl_index", MGS_REQUEST_PORTAL , lustre_handle);
- dissector_add_uint("lnet.ptl_index", MGS_REPLY_PORTAL , lustre_handle);
- dissector_add_uint("lnet.ptl_index", OST_REQUEST_PORTAL , lustre_handle);
- dissector_add_uint("lnet.ptl_index", FLD_REQUEST_PORTAL, lustre_handle);
- dissector_add_uint("lnet.ptl_index", SEQ_METADATA_PORTAL, lustre_handle);
- dissector_add_uint("lnet.ptl_index", SEQ_DATA_PORTAL, lustre_handle);
- dissector_add_uint("lnet.ptl_index", SEQ_CONTROLLER_PORTAL, lustre_handle);
-}