2 * Lustre 1.6 dissection (http://www.lustre.org/)
3 * Author: Laurent George <george@ocre.cea.fr>
4 * based on packet-agentx.c and packet-afs.c
5 * partially generated by Pidl
7 * Wireshark - Network traffic analyzer
8 * By Gerald Combs <gerald@wireshark.org>
9 * Copyright 1999 Gerald Combs
11 * C-Syle: 2 space indents
13 * This program is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License
15 * as published by the Free Software Foundation; either version 2
16 * of the License, or (at your option) any later version.
18 * This program is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
23 * You should have received a copy of the GNU General Public License
24 * along with this program; if not, write to the Free Software
25 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
27 * Copyright (c) 2011, 2016, Intel Corporation.
37 #include <epan/packet.h>
39 #include "wireshark-compat.h"
41 #include <epan/dissectors/packet-windows-common.h>
42 #include "lustre_dlm_flags.h"
44 const true_false_string lnet_flags_set_truth = { "Set", "Unset" };
46 /* --------------------------------------------------------------------------------------- */
47 /* def and macro to know where we are the the lustre payload */
48 #define LUSTRE_MAGIC_OFFSET 8
49 #define LUSTRE_MSG_MAGIC_V1 0x0BD00BD0
50 #define LUSTRE_MSG_MAGIC_V2 0x0BD00BD3
52 #define LUSTRE_BUFCOUNT_OFF ((tvb_get_letohl(tvb, LUSTRE_MAGIC_OFFSET)== LUSTRE_MSG_MAGIC_V2) ? 0 : 60)
53 #define LUSTRE_BUFCOUNT ((tvb_get_letohl(tvb, LUSTRE_MAGIC_OFFSET)== LUSTRE_MSG_MAGIC_V2) \
54 ? (tvb_get_letohl(tvb, LUSTRE_BUFCOUNT_OFF)) : ((tvb_get_letohl(tvb, LUSTRE_BUFCOUNT_OFF))) )
55 /* remark : BUFLENOFF don't have the same meaning if it's for v1 or v2
56 * v1 : LUSTRE_BUFLEN_OFF = offset buflen[0] - 4 bytes.
57 * v2 : LUSTRE_BUFLEN_OFF = offset buflen[0]
59 #define LUSTRE_BUFLEN_OFF ((tvb_get_letohl(tvb, LUSTRE_MAGIC_OFFSET)== LUSTRE_MSG_MAGIC_V2) ? 32 : 60)
61 /* LUSTRE_BUFFER_LEN(buffnum) */
62 #define LUSTRE_BUFFER_LEN(_n) (LUSTRE_BUFCOUNT <= (_n) ? 0 \
63 : tvb_get_letohl(tvb, LUSTRE_BUFLEN_OFF+\
64 sizeof(guint32)*(_n)))
66 #define LUSTRE_REQ_REC_OFF 1 /* normal request record offset */
67 #define LUSTRE_REPLY_REC_OFF 1 /* normal reply record offset */
69 #define LUSTRE_DLM_INTENT_IT_OFF 2 /* intent lock it offset */
70 #define LUSTRE_DLM_INTENT_REC_OFF 3 /* intent lock record offset */
71 #define LUSTRE_DLM_LOCKREPLY_OFF 1 /* lockrep offset */
72 #define LUSTRE_DLM_REPLY_REC_OFF 2 /* reply record offset */
73 /* --------------------------------------------------------------------------------------- */
76 #define LUSTRE_PTLRPC_MSG_VERSION 0x00000003
77 #define LUSTRE_VERSION_MASK 0xffff0000
78 #define LUSTRE_OBD_VERSION 0x00010000
79 #define LUSTRE_MDS_VERSION 0x00020000
80 #define LUSTRE_OST_VERSION 0x00030000
81 #define LUSTRE_DLM_VERSION 0x00040000
82 #define LUSTRE_LOG_VERSION 0x00050000
83 #define LUSTRE_MGS_VERSION 0x00060000
87 #define LOV_MAGIC_V1 0x0BD10BD0
88 #define LOV_MAGIC LOV_MAGIC_V1
89 #define LOV_MAGIC_JOIN_V1 0x0BD20BD0
91 /* defined in lustre/include/lustre/lustre_idl.h */
93 CONNMGR_REQUEST_PORTAL = 1,
94 CONNMGR_REPLY_PORTAL = 2,
95 OSC_REQUEST_PORTAL = 3,
99 OST_CREATE_PORTAL = 7,
101 MDC_REQUEST_PORTAL = 9,
102 MDC_REPLY_PORTAL = 10,
103 MDC_BULK_PORTAL = 11,
104 MDS_REQUEST_PORTAL = 12,
105 MDS_REPLY_PORTAL = 13,
106 MDS_BULK_PORTAL = 14,
107 LDLM_CB_REQUEST_PORTAL = 15,
108 LDLM_CB_REPLY_PORTAL = 16,
109 LDLM_CANCEL_REQUEST_PORTAL = 17,
110 LDLM_CANCEL_REPLY_PORTAL = 18,
111 PTLBD_REQUEST_PORTAL = 19,
112 PTLBD_REPLY_PORTAL = 20,
113 PTLBD_BULK_PORTAL = 21,
114 MDS_SETATTR_PORTAL = 22,
115 MDS_READPAGE_PORTAL = 23,
117 MGC_REPLY_PORTAL = 25,
118 MGS_REQUEST_PORTAL = 26,
119 MGS_REPLY_PORTAL = 27,
120 OST_REQUEST_PORTAL = 28,
121 FLD_REQUEST_PORTAL = 29,
122 SEQ_METADATA_PORTAL = 30,
123 SEQ_DATA_PORTAL = 31,
124 SEQ_CONTROLLER_PORTAL = 32,
128 static const value_string portal_indices[] = {
129 { CONNMGR_REQUEST_PORTAL, "CONNMGR_REQUEST_PORTAL"},
130 { CONNMGR_REPLY_PORTAL , "CONNMGR_REPLY_PORTAL"},
131 { OSC_REQUEST_PORTAL , "OSC_REQUEST_PORTAL(obsolete)"},
132 { OSC_REPLY_PORTAL , "OSC_REPLY_PORTAL"},
133 { OSC_BULK_PORTAL , "OSC_BULK_PORTAL(obsolete)"},
134 { OST_IO_PORTAL , "OST_IO_PORTAL"},
135 { OST_CREATE_PORTAL , "OST_CREATE_PORTAL"},
136 { OST_BULK_PORTAL , "OST_BULK_PORTAL"},
137 { MDC_REQUEST_PORTAL , "MDC_REQUEST_PORTAL(obsolete)"},
138 { MDC_REPLY_PORTAL , "MDC_REPLY_PORTAL"},
139 { MDC_BULK_PORTAL , "MDC_BULK_PORTAL(obsolete)"},
140 { MDS_REQUEST_PORTAL , "MDS_REQUEST_PORTAL"},
141 { MDS_REPLY_PORTAL , "MDS_REPLY_PORTAL(obsolete)"},
142 { MDS_BULK_PORTAL , "MDS_BULK_PORTAL"},
143 { LDLM_CB_REQUEST_PORTAL , "LDLM_CB_REQUEST_PORTAL"},
144 { LDLM_CB_REPLY_PORTAL , "LDLM_CB_REPLY_PORTAL"},
145 { LDLM_CANCEL_REQUEST_PORTAL , "LDLM_CANCEL_REQUEST_PORTAL"},
146 { LDLM_CANCEL_REPLY_PORTAL , "LDLM_CANCEL_REPLY_PORTAL"},
147 { PTLBD_REQUEST_PORTAL , "PTLBD_REQUEST_PORTAL(obsolete)"},
148 { PTLBD_REPLY_PORTAL , "PTLBD_REPLY_PORTAL(obsolete)"},
149 { PTLBD_BULK_PORTAL , "PTLBD_BULK_PORTAL(obsolete)"},
150 { MDS_SETATTR_PORTAL , "MDS_SETATTR_PORTAL"},
151 { MDS_READPAGE_PORTAL , "MDS_READPAGE_PORTAL"},
152 { MDS_MDS_PORTAL, "MDS_MDS_PORTAL"},
153 { MGC_REPLY_PORTAL , "MGC_REPLY_PORTAL"},
154 { MGS_REQUEST_PORTAL , "MGS_REQUEST_PORTAL"},
155 { MGS_REPLY_PORTAL , "MGS_REPLY_PORTAL"},
156 { OST_REQUEST_PORTAL , "OST_REQUEST_PORTAL"},
157 { FLD_REQUEST_PORTAL , "FLD_REQUEST_PORTAL"},
158 { SEQ_METADATA_PORTAL, "SEQ_METADATA_PORTAL"},
159 { SEQ_DATA_PORTAL, "SEQ_DATA_PORTAL"},
160 { SEQ_CONTROLLER_PORTAL, "SEQ_CONTROLLER_PORTAL"},
161 { MGS_BULK_PORTAL, "MGS_BULK_PORTAL"}
165 OST_REPLY = 0, /* reply ? */
179 /* OST_SAN_READ = 14, deprecated */
180 /* OST_SAN_WRITE = 15, deprecated */
185 OST_QUOTA_ADJUST_QUNIT = 20,
197 #define OBD_FIRST_OPC OBD_PING
199 /* must be coherent with same declaration
200 * in lustre/include/lustre/lustre_idl.h
204 MDS_GETATTR_NAME = 34,
215 MDS_DONE_WRITING = 45,
224 MDS_HSM_STATE_GET = 54,
225 MDS_HSM_STATE_SET = 55,
227 MDS_HSM_PROGRESS = 57,
228 MDS_HSM_REQUEST = 58,
229 MDS_HSM_CT_REGISTER = 59,
230 MDS_HSM_CT_UNREGISTER = 60,
231 MDS_SWAP_LAYOUTS = 61,
234 #define MDS_FIRST_OPC MDS_GETATTR
237 LAYOUT_INTENT_ACCESS = 0,
238 LAYOUT_INTENT_READ = 1,
239 LAYOUT_INTENT_WRITE = 2,
240 LAYOUT_INTENT_GLIMPSE = 3,
241 LAYOUT_INTENT_TRUNC = 4,
242 LAYOUT_INTENT_RELEASE = 5,
243 LAYOUT_INTENT_RESTORE = 6
246 static const value_string lustre_layout_intent_opc_values[] = {
247 { LAYOUT_INTENT_ACCESS, "ACCESS"},
248 { LAYOUT_INTENT_READ, "READ"},
249 { LAYOUT_INTENT_WRITE, "WRITE"},
250 { LAYOUT_INTENT_GLIMPSE, "GLIMPSE"},
251 { LAYOUT_INTENT_TRUNC, "TRUNC"},
252 { LAYOUT_INTENT_RELEASE, "RELEASE"},
253 { LAYOUT_INTENT_RESTORE, "RESTORE"},
257 /* From lustre/include/obd.h */
258 #define IT_OPEN 0x0001
259 #define IT_CREAT 0x0002
260 #define IT_READDIR 0x0004
261 #define IT_GETATTR 0x0008
262 #define IT_LOOKUP 0x0010
263 #define IT_UNLINK 0x0020
264 #define IT_TRUNC 0x0040
265 #define IT_GETXATTR 0x0080
266 #define IT_EXEC 0x0100
267 #define IT_PIN 0x0200
268 #define IT_LAYOUT 0x0400
269 #define IT_QUOTA_DQACQ 0x0800
270 #define IT_QUOTA_CONN 0x1000
271 #define IT_SETXATTR 0x2000
273 /* lustre/include/lustre/lustre_idl.h */
291 LDLM_BL_CALLBACK = 104,
292 LDLM_CP_CALLBACK = 105,
293 LDLM_GL_CALLBACK = 106,
297 #define LDLM_FIRST_OPC LDLM_ENQUEUE
302 SEQ_FIRST_OPC = SEQ_QUERY
308 FLD_FIRST_OPC = FLD_QUERY
311 #define LDLM_ENQUEUE (101)
312 #define LDLM_CONVERT (102)
313 #define LDLM_CANCEL (103)
314 #define LDLM_BL_CALLBACK (104)
315 #define LDLM_CP_CALLBACK (105)
316 #define LDLM_GL_CALLBACK (106)
317 #define LCK_MINMODE (0)
324 #define LCK_GROUP (64)
325 #define LDLM_PLAIN (10)
326 #define LDLM_EXTENT (11)
327 #define LDLM_FLOCK (12)
328 #define LDLM_IBITS (13)
329 //#define MGS_CONNECT (250)
330 #define OBD_PING (400)
333 * Opcodes for mountconf (mgs and mgc)
338 MGS_EXCEPTION, /* node died, etc. */
339 MGS_TARGET_REG, /* whenever target starts up */
345 #define MGS_FIRST_OPC MGS_CONNECT
349 LLOG_ORIGIN_HANDLE_CREATE = 501,
350 LLOG_ORIGIN_HANDLE_NEXT_BLOCK = 502,
351 LLOG_ORIGIN_HANDLE_READ_HEADER = 503,
352 LLOG_ORIGIN_HANDLE_WRITE_REC = 504,
353 LLOG_ORIGIN_HANDLE_CLOSE = 505,
354 LLOG_ORIGIN_CONNECT = 506,
355 LLOG_CATINFO = 507, /* for lfs catinfo */
356 LLOG_ORIGIN_HANDLE_PREV_BLOCK = 508,
357 LLOG_ORIGIN_HANDLE_DESTROY = 509, /* for destroy llog object*/
361 #define LLOG_FIRST_OPC LLOG_ORIGIN_HANDLE_CREATE
362 /*flag for the LLOG*/
363 #define LLOG_OP_MAGIC 0x10600000
364 #define LLOG_OP_MASK 0xfff00000
367 LLOG_PAD_MAGIC = LLOG_OP_MAGIC | 0x00000,
368 OST_SZ_REC = LLOG_OP_MAGIC | 0x00f00,
369 OST_RAID1_REC = LLOG_OP_MAGIC | 0x01000,
370 MDS_UNLINK_REC = LLOG_OP_MAGIC | 0x10000 | (MDS_REINT << 8) | REINT_UNLINK,
371 MDS_SETATTR_REC = LLOG_OP_MAGIC | 0x10000 | (MDS_REINT << 8) | REINT_SETATTR,
372 OBD_CFG_REC = LLOG_OP_MAGIC | 0x20000,
373 PTL_CFG_REC = LLOG_OP_MAGIC | 0x30000, /* obsolete */
374 LLOG_GEN_REC = LLOG_OP_MAGIC | 0x40000,
375 LLOG_JOIN_REC = LLOG_OP_MAGIC | 0x50000, /* obsolete */
376 LLOG_HDR_MAGIC = LLOG_OP_MAGIC | 0x45539,
377 LLOG_LOGID_MAGIC = LLOG_OP_MAGIC | 0x4553b,
381 /*defined in lustre/include/lustre/lustre_idl.h*/
382 #define LLOG_F_ZAP_WHEN_EMPTY 0x1
383 #define LLOG_F_IS_CAT 0x2
384 #define LLOG_F_IS_PLAIN 0x4
386 #define PTL_RPC_MSG_REQUEST 4711
387 #define PTL_RPC_MSG_ERR 4712
388 #define PTL_RPC_MSG_REPLY 4713
390 /* Connect flags from lustre_idl.h */
391 #define OBD_CONNECT_RDONLY 0x1ULL /*client has read-only access*/
392 #define OBD_CONNECT_INDEX 0x2ULL /*connect specific LOV idx */
393 #define OBD_CONNECT_MDS 0x4ULL /*connect from MDT to OST */
394 #define OBD_CONNECT_GRANT 0x8ULL /*OSC gets grant at connect */
395 #define OBD_CONNECT_SRVLOCK 0x10ULL /*server takes locks for cli */
396 #define OBD_CONNECT_VERSION 0x20ULL /*Lustre versions in ocd */
397 #define OBD_CONNECT_REQPORTAL 0x40ULL /*Separate non-IO req portal */
398 #define OBD_CONNECT_ACL 0x80ULL /*access control lists */
399 #define OBD_CONNECT_XATTR 0x100ULL /*client use extended attr */
400 #define OBD_CONNECT_CROW 0x200ULL /*MDS+OST create obj on write*/
401 #define OBD_CONNECT_TRUNCLOCK 0x400ULL /*locks on server for punch */
402 #define OBD_CONNECT_TRANSNO 0x800ULL /*replay sends init transno */
403 #define OBD_CONNECT_IBITS 0x1000ULL /*support for inodebits locks*/
404 #define OBD_CONNECT_JOIN 0x2000ULL /*files can be concatenated.
405 *We do not support JOIN FILE
406 *anymore, reserve this flags
407 *just for preventing such bit
409 #define OBD_CONNECT_ATTRFID 0x4000ULL /*Server can GetAttr By Fid*/
410 #define OBD_CONNECT_NODEVOH 0x8000ULL /*No open hndl on specl nodes*/
411 #define OBD_CONNECT_RMT_CLIENT 0x10000ULL /*Remote client */
412 #define OBD_CONNECT_RMT_CLIENT_FORCE 0x20000ULL /*Remote client by force */
413 #define OBD_CONNECT_BRW_SIZE 0x40000ULL /*Max bytes per rpc */
414 #define OBD_CONNECT_QUOTA64 0x80000ULL /*Not used since 2.4 */
415 #define OBD_CONNECT_MDS_CAPA 0x100000ULL /*MDS capability */
416 #define OBD_CONNECT_OSS_CAPA 0x200000ULL /*OSS capability */
417 #define OBD_CONNECT_CANCELSET 0x400000ULL /*Early batched cancels. */
418 #define OBD_CONNECT_SOM 0x800000ULL /*Size on MDS */
419 #define OBD_CONNECT_AT 0x1000000ULL /*client uses AT */
420 #define OBD_CONNECT_LRU_RESIZE 0x2000000ULL /*LRU resize feature. */
421 #define OBD_CONNECT_MDS_MDS 0x4000000ULL /*MDS-MDS connection */
422 #define OBD_CONNECT_REAL 0x8000000ULL /*real connection */
423 #define OBD_CONNECT_CHANGE_QS 0x10000000ULL /*Not used since 2.4 */
424 #define OBD_CONNECT_CKSUM 0x20000000ULL /*support several cksum algos*/
425 #define OBD_CONNECT_FID 0x40000000ULL /*FID is supported by server */
426 #define OBD_CONNECT_VBR 0x80000000ULL /*version based recovery */
428 /* Ett declarations */
429 static gint ett_lustre_llog_log_llh_flags = -1 ;
430 static gint ett_lustre = -1;
431 static gint ett_lustre_lustre_handle_cookie = -1;
432 static gint ett_lustre_lustre_msg_v1 = -1;
433 static gint ett_lustre_lustre_handle_v1 = -1;
434 static gint ett_lustre_lustre_msg_v2 = -1;
435 static gint ett_lustre_ptlrpc_body = -1;
436 static gint ett_lustre_lustre_handle_v2 = -1;
437 static gint ett_lustre_obd_connect_data = -1;
438 static gint ett_lustre_lov_mds_md_v1 = -1;
439 static gint ett_lustre_lov_ost_data_v1 = -1;
440 static gint ett_lustre_obd_statfs = -1;
441 static gint ett_lustre_obd_ioobj = -1;
442 static gint ett_lustre_niobuf_remote = -1;
443 static gint ett_lustre_ost_lvb = -1;
444 static gint ett_lustre_ll_fid = -1;
445 static gint ett_lustre_mdt_body = -1;
446 static gint ett_lustre_mdt_rec_setattr = -1;
447 static gint ett_lustre_mdt_rec_create = -1;
448 static gint ett_lustre_mdt_rec_link = -1;
449 static gint ett_lustre_mdt_rec_unlink = -1;
450 static gint ett_lustre_mdt_rec_rename = -1;
451 static gint ett_lustre_mdt_rec_setxattr = -1;
452 static gint ett_lustre_obd_quotactl = -1;
453 static gint ett_lustre_obd_dqinfo = -1;
454 static gint ett_lustre_obd_dqblk = -1;
455 static gint ett_lustre_quota_adjust_qunit = -1;
456 static gint ett_lustre_lov_desc = -1;
457 static gint ett_lustre_obd_uuid = -1;
458 static gint ett_lustre_ldlm_res_id = -1;
459 static gint ett_lustre_ldlm_extent = -1;
460 static gint ett_lustre_ldlm_inodebits = -1;
461 static gint ett_lustre_ldlm_flock = -1;
462 static gint ett_lustre_ldlm_intent_opc = -1;
463 static gint ett_lustre_ldlm_resource_desc = -1;
464 static gint ett_lustre_ldlm_lock_desc = -1;
465 static gint ett_lustre_ldlm_request = -1;
466 static gint ett_lustre_lustre_handle = -1;
467 static gint ett_lustre_ldlm_reply = -1;
468 static gint ett_lustre_mgs_send_param = -1;
469 static gint ett_lustre_mgs_target_info = -1;
470 static gint ett_lustre_mgs_config_body = -1;
471 static gint ett_lustre_mgs_config_res = -1;
472 static gint ett_lustre_cfg_marker = -1;
473 static gint ett_lustre_llog_catid = -1;
474 static gint ett_lustre_llog_rec_hdr = -1;
475 static gint ett_lustre_llog_logid_rec = -1;
476 static gint ett_lustre_llog_logid = -1;
477 static gint ett_lustre_llog_rec_tail = -1;
478 static gint ett_lustre_lov_mds_md = -1;
479 static gint ett_lustre_llog_unlink_rec = -1;
480 static gint ett_lustre_llog_setattr_rec = -1;
481 static gint ett_lustre_llog_size_change_rec = -1;
482 static gint ett_lustre_llog_gen_rec = -1;
483 static gint ett_lustre_llog_log_hdr = -1;
484 static gint ett_lustre_llog_cookie = -1;
485 static gint ett_lustre_llogd_body = -1;
486 static gint ett_lustre_llogd_conn_body = -1;
487 static gint ett_lustre_llog_gen = -1;
488 static gint ett_lustre_obdo = -1;
489 static gint ett_lustre_ost_body = -1;
490 static gint ett_lustre_qunit_data = -1;
491 static gint ett_lustre_qunit_data_old2 = -1;
492 static gint ett_lustre_qunit_data_old = -1;
493 static gint ett_lustre_ldlm_lock_flags = -1 ;
494 static gint ett_lustre_seq_range = -1;
495 static gint ett_lustre_fld_range = -1;
496 static gint ett_lustre_mdt_ioepoch = -1;
497 static gint ett_lustre_capa = -1;
498 static gint ett_lustre_close_data = -1;
499 static gint ett_lustre_acl = -1;
500 static gint ett_lustre_ladvise = -1;
501 static gint ett_lustre_hsm_request = -1;
502 static gint ett_lustre_hsm_user_item = -1;
503 static gint ett_lustre_hsm_extent = -1;
504 static gint ett_lustre_hsm_progress = -1;
505 static gint ett_lustre_hsm_user_state = -1;
506 static gint ett_lustre_quota_body = -1;
507 static gint ett_lustre_lquota_id = -1;
508 static gint ett_lustre_layout_intent = -1;
510 /* -----------------------------------------------*/
511 /* Header field declarations */
512 static int hf_lustre_ptlrpc_body_pb = -1 ;
513 static int hf_lustre_ost_body = -1 ;
514 static int hf_lustre_obd_statfs = -1 ;
515 static int hf_lustre_obd_quotactl = -1 ;
516 static int hf_lustre_quota_adjust_qunit = -1 ;
517 static int hf_lustre_extra_padding = -1 ;
518 static int hf_lustre_ldlm_reply = -1 ;
519 static int hf_lustre_ldlm_request = -1 ;
520 static int hf_lustre_obd_uuid = -1 ;
521 static int hf_lustre_obd_connect_data = -1 ;
522 static int hf_lustre_ldlm_intent = -1;
523 static int hf_lustre_obd_ioobj = -1 ;
524 static int hf_lustre_niobuf_remote = -1 ;
525 static int hf_lustre_ost_key = -1 ;
526 static int hf_lustre_nio= -1 ;
527 static int hf_lustre_ost_val= -1;
528 static int hf_lustre_llogd_body = -1;
529 static int hf_lustre_llogd_log_hdr= -1;
530 static int hf_lustre_llog_logid_rec =-1 ;
531 static int hf_lustre_llogd_chunk= -1;
532 static int hf_lustre_llogd_keyword= -1;
533 static int hf_lustre_llogd_client= -1;
534 static int hf_lustre_llogd_name= -1;
536 static int hf_lustre_mds_xattr_name = -1;
537 static int hf_lustre_lov_mds_md_v1= -1;
538 static int hf_lustre_llog_cookie= -1;
539 static int hf_lustre_mds_md_data= -1;
540 static int hf_lustre_mds_reint_opcode= -1;
541 static int hf_lustre_mds_xattr_eadata = -1;
543 static int hf_lustre_reint_name= -1;
544 static int hf_lustre_reint_old_name= -1;
545 static int hf_lustre_reint_new_name= -1;
547 static int hf_lustre_mgs_target_info = -1 ;
548 static int hf_lustre_mgs_send_param = -1;
550 static int hf_lustre_mgs_config_body = -1;
551 static int hf_lustre_mgs_config_body_name = -1;
552 static int hf_lustre_mgs_config_body_offset = -1;
553 static int hf_lustre_mgs_config_body_type = -1;
554 static int hf_lustre_mgs_config_body_reserved = -1;
555 static int hf_lustre_mgs_config_body_bits = -1;
556 static int hf_lustre_mgs_config_body_units = -1;
558 static int hf_lustre_mgs_config_res = -1;
559 static int hf_lustre_mgs_config_res_offset = -1;
560 static int hf_lustre_mgs_config_res_size = -1;
562 static int hf_lustre_ost_lvb = -1 ;
564 #define hf_lustre_ldlm_ast_discard_data hf_lustre_ldlm_fl_ast_discard_data
566 static int hf_lustre_mdt_body = -1 ;
567 static int hf_lustre_mdt_body_fid1 = -1;
568 static int hf_lustre_mdt_body_fid2 = -1;
569 static int hf_lustre_mdt_body_handle = -1;
570 static int hf_lustre_mdt_body_valid = -1;
571 static int hf_lustre_mdt_body_size = -1;
572 static int hf_lustre_mdt_body_mtime = -1;
573 static int hf_lustre_mdt_body_atime = -1;
574 static int hf_lustre_mdt_body_ctime = -1;
575 static int hf_lustre_mdt_body_blocks = -1;
576 static int hf_lustre_mdt_body_ioepoch = -1;
577 static int hf_lustre_mdt_body_ino = -1;
578 static int hf_lustre_mdt_body_fsuid = -1;
579 static int hf_lustre_mdt_body_fsgid = -1;
580 static int hf_lustre_mdt_body_capability = -1;
581 static int hf_lustre_mdt_body_mode = -1;
582 static int hf_lustre_mdt_body_uid = -1;
583 static int hf_lustre_mdt_body_gid = -1;
584 static int hf_lustre_mdt_body_flags = -1;
585 static int hf_lustre_mdt_body_rdev = -1;
586 static int hf_lustre_mdt_body_nlink = -1;
587 static int hf_lustre_mdt_body_generation = -1;
588 static int hf_lustre_mdt_body_suppgid = -1;
589 static int hf_lustre_mdt_body_eadatasize = -1;
590 static int hf_lustre_mdt_body_aclsize = -1;
591 static int hf_lustre_mdt_body_max_mdsize = -1;
592 static int hf_lustre_mdt_body_max_cookiesize = -1;
593 static int hf_lustre_mdt_body_uid_h = -1;
594 static int hf_lustre_mdt_body_gid_h = -1;
595 static int hf_lustre_mdt_body_padding_5 = -1;
596 static int hf_lustre_mdt_body_padding_6 = -1;
597 static int hf_lustre_mdt_body_padding_7 = -1;
598 static int hf_lustre_mdt_body_padding_8 = -1;
599 static int hf_lustre_mdt_body_padding_9 = -1;
600 static int hf_lustre_mdt_body_padding_10 = -1;
602 static int hf_lustre_mdt_rec_setattr = -1 ;
603 static int hf_lustre_mdt_rec_setattr_sa_opcode = -1;
604 static int hf_lustre_mdt_rec_setattr_sa_cap = -1;
605 static int hf_lustre_mdt_rec_setattr_sa_fsuid = -1;
606 static int hf_lustre_mdt_rec_setattr_sa_fsuid_h = -1;
607 static int hf_lustre_mdt_rec_setattr_sa_fsgid = -1;
608 static int hf_lustre_mdt_rec_setattr_sa_fsgid_h = -1;
609 static int hf_lustre_mdt_rec_setattr_sa_suppgid = -1;
610 static int hf_lustre_mdt_rec_setattr_sa_suppgid_h = -1;
611 static int hf_lustre_mdt_rec_setattr_sa_padding_1 = -1;
612 static int hf_lustre_mdt_rec_setattr_sa_padding_1_h = -1;
613 static int hf_lustre_mdt_rec_setattr_sa_fid = -1;
614 static int hf_lustre_mdt_rec_setattr_sa_valid = -1;
615 static int hf_lustre_mdt_rec_setattr_sa_uid = -1;
616 static int hf_lustre_mdt_rec_setattr_sa_gid = -1;
617 static int hf_lustre_mdt_rec_setattr_sa_size = -1;
618 static int hf_lustre_mdt_rec_setattr_sa_blocks = -1;
619 static int hf_lustre_mdt_rec_setattr_sa_mtime = -1;
620 static int hf_lustre_mdt_rec_setattr_sa_atime = -1;
621 static int hf_lustre_mdt_rec_setattr_sa_ctime = -1;
622 static int hf_lustre_mdt_rec_setattr_sa_attr_flags = -1;
623 static int hf_lustre_mdt_rec_setattr_sa_mode = -1;
624 static int hf_lustre_mdt_rec_setattr_sa_padding_2 = -1;
625 static int hf_lustre_mdt_rec_setattr_sa_projid = -1;
626 static int hf_lustre_mdt_rec_setattr_sa_padding_4 = -1;
627 static int hf_lustre_mdt_rec_setattr_sa_padding_5 = -1;
629 static int hf_lustre_mdt_rec_create = -1 ;
630 static int hf_lustre_mdt_rec_create_cr_opcode = -1;
631 static int hf_lustre_mdt_rec_create_cr_cap = -1;
632 static int hf_lustre_mdt_rec_create_cr_fsuid = -1;
633 static int hf_lustre_mdt_rec_create_cr_fsuid_h = -1;
634 static int hf_lustre_mdt_rec_create_cr_fsgid = -1;
635 static int hf_lustre_mdt_rec_create_cr_fsgid_h = -1;
636 static int hf_lustre_mdt_rec_create_cr_suppgid1 = -1;
637 static int hf_lustre_mdt_rec_create_cr_suppgid1_h = -1;
638 static int hf_lustre_mdt_rec_create_cr_suppgid2 = -1;
639 static int hf_lustre_mdt_rec_create_cr_suppgid2_h = -1;
640 static int hf_lustre_mdt_rec_create_cr_fid1 = -1;
641 static int hf_lustre_mdt_rec_create_cr_fid2 = -1;
642 static int hf_lustre_mdt_rec_create_cr_old_handle = -1;
643 static int hf_lustre_mdt_rec_create_cr_time = -1;
644 static int hf_lustre_mdt_rec_create_cr_rdev = -1;
645 static int hf_lustre_mdt_rec_create_cr_ioepoch = -1;
646 static int hf_lustre_mdt_rec_create_cr_padding_1 = -1;
647 static int hf_lustre_mdt_rec_create_cr_mode = -1;
648 static int hf_lustre_mdt_rec_create_cr_bias = -1;
649 static int hf_lustre_mdt_rec_create_cr_flags_l = -1;
650 static int hf_lustre_mdt_rec_create_cr_flags_h = -1;
651 static int hf_lustre_mdt_rec_create_cr_umask = -1;
652 static int hf_lustre_mdt_rec_create_cr_padding_4 = -1;
654 static int hf_lustre_mdt_rec_link = -1 ;
655 static int hf_lustre_mdt_rec_link_lk_opcode = -1;
656 static int hf_lustre_mdt_rec_link_lk_cap = -1;
657 static int hf_lustre_mdt_rec_link_lk_fsuid = -1;
658 static int hf_lustre_mdt_rec_link_lk_fsuid_h = -1;
659 static int hf_lustre_mdt_rec_link_lk_fsgid = -1;
660 static int hf_lustre_mdt_rec_link_lk_fsgid_h = -1;
661 static int hf_lustre_mdt_rec_link_lk_suppgid1 = -1;
662 static int hf_lustre_mdt_rec_link_lk_suppgid1_h = -1;
663 static int hf_lustre_mdt_rec_link_lk_suppgid2 = -1;
664 static int hf_lustre_mdt_rec_link_lk_suppgid2_h = -1;
665 static int hf_lustre_mdt_rec_link_lk_fid1 = -1;
666 static int hf_lustre_mdt_rec_link_lk_fid2 = -1;
667 static int hf_lustre_mdt_rec_link_lk_time = -1;
668 static int hf_lustre_mdt_rec_link_lk_padding_1 = -1;
669 static int hf_lustre_mdt_rec_link_lk_padding_2 = -1;
670 static int hf_lustre_mdt_rec_link_lk_padding_3 = -1;
671 static int hf_lustre_mdt_rec_link_lk_padding_4 = -1;
672 static int hf_lustre_mdt_rec_link_lk_bias = -1;
673 static int hf_lustre_mdt_rec_link_lk_padding_5 = -1;
674 static int hf_lustre_mdt_rec_link_lk_padding_6 = -1;
675 static int hf_lustre_mdt_rec_link_lk_padding_7 = -1;
676 static int hf_lustre_mdt_rec_link_lk_padding_8 = -1;
677 static int hf_lustre_mdt_rec_link_lk_padding_9 = -1;
679 static int hf_lustre_mdt_rec_unlink = -1 ;
680 static int hf_lustre_mdt_rec_unlink_ul_opcode = -1;
681 static int hf_lustre_mdt_rec_unlink_ul_cap = -1;
682 static int hf_lustre_mdt_rec_unlink_ul_fsuid = -1;
683 static int hf_lustre_mdt_rec_unlink_ul_fsuid_h = -1;
684 static int hf_lustre_mdt_rec_unlink_ul_fsgid = -1;
685 static int hf_lustre_mdt_rec_unlink_ul_fsgid_h = -1;
686 static int hf_lustre_mdt_rec_unlink_ul_suppgid1 = -1;
687 static int hf_lustre_mdt_rec_unlink_ul_suppgid1_h = -1;
688 static int hf_lustre_mdt_rec_unlink_ul_suppgid2 = -1;
689 static int hf_lustre_mdt_rec_unlink_ul_suppgid2_h = -1;
690 static int hf_lustre_mdt_rec_unlink_ul_fid1 = -1;
691 static int hf_lustre_mdt_rec_unlink_ul_fid2 = -1;
692 static int hf_lustre_mdt_rec_unlink_ul_time = -1;
693 static int hf_lustre_mdt_rec_unlink_ul_padding_2 = -1;
694 static int hf_lustre_mdt_rec_unlink_ul_padding_3 = -1;
695 static int hf_lustre_mdt_rec_unlink_ul_padding_4 = -1;
696 static int hf_lustre_mdt_rec_unlink_ul_padding_5 = -1;
697 static int hf_lustre_mdt_rec_unlink_ul_bias = -1;
698 static int hf_lustre_mdt_rec_unlink_ul_mode = -1;
699 static int hf_lustre_mdt_rec_unlink_ul_padding_6 = -1;
700 static int hf_lustre_mdt_rec_unlink_ul_padding_7 = -1;
701 static int hf_lustre_mdt_rec_unlink_ul_padding_8 = -1;
702 static int hf_lustre_mdt_rec_unlink_ul_padding_9 = -1;
704 static int hf_lustre_mdt_rec_rename = -1 ;
705 static int hf_lustre_mdt_rec_rename_rn_opcode = -1;
706 static int hf_lustre_mdt_rec_rename_rn_cap = -1;
707 static int hf_lustre_mdt_rec_rename_rn_fsuid = -1;
708 static int hf_lustre_mdt_rec_rename_rn_fsuid_h = -1;
709 static int hf_lustre_mdt_rec_rename_rn_fsgid = -1;
710 static int hf_lustre_mdt_rec_rename_rn_fsgid_h = -1;
711 static int hf_lustre_mdt_rec_rename_rn_suppgid1 = -1;
712 static int hf_lustre_mdt_rec_rename_rn_suppgid1_h = -1;
713 static int hf_lustre_mdt_rec_rename_rn_suppgid2 = -1;
714 static int hf_lustre_mdt_rec_rename_rn_suppgid2_h = -1;
715 static int hf_lustre_mdt_rec_rename_rn_fid1 = -1;
716 static int hf_lustre_mdt_rec_rename_rn_fid2 = -1;
717 static int hf_lustre_mdt_rec_rename_rn_time = -1;
718 static int hf_lustre_mdt_rec_rename_rn_padding_1 = -1;
719 static int hf_lustre_mdt_rec_rename_rn_padding_2 = -1;
720 static int hf_lustre_mdt_rec_rename_rn_padding_3 = -1;
721 static int hf_lustre_mdt_rec_rename_rn_padding_4 = -1;
722 static int hf_lustre_mdt_rec_rename_rn_bias = -1;
723 static int hf_lustre_mdt_rec_rename_rn_mode = -1;
724 static int hf_lustre_mdt_rec_rename_rn_padding_5 = -1;
725 static int hf_lustre_mdt_rec_rename_rn_padding_6 = -1;
726 static int hf_lustre_mdt_rec_rename_rn_padding_7 = -1;
727 static int hf_lustre_mdt_rec_rename_rn_padding_8 = -1;
729 static int hf_lustre_mdt_rec_setxattr = -1 ;
730 static int hf_lustre_mdt_rec_setxattr_sx_opcode = -1;
731 static int hf_lustre_mdt_rec_setxattr_sx_cap = -1;
732 static int hf_lustre_mdt_rec_setxattr_sx_fsuid = -1;
733 static int hf_lustre_mdt_rec_setxattr_sx_fsuid_h = -1;
734 static int hf_lustre_mdt_rec_setxattr_sx_fsgid = -1;
735 static int hf_lustre_mdt_rec_setxattr_sx_fsgid_h = -1;
736 static int hf_lustre_mdt_rec_setxattr_sx_suppgid1 = -1;
737 static int hf_lustre_mdt_rec_setxattr_sx_suppgid1_h = -1;
738 static int hf_lustre_mdt_rec_setxattr_sx_suppgid2 = -1;
739 static int hf_lustre_mdt_rec_setxattr_sx_suppgid2_h = -1;
740 static int hf_lustre_mdt_rec_setxattr_sx_fid = -1;
741 static int hf_lustre_mdt_rec_setxattr_sx_padding_1 = -1;
742 static int hf_lustre_mdt_rec_setxattr_sx_padding_2 = -1;
743 static int hf_lustre_mdt_rec_setxattr_sx_padding_3 = -1;
744 static int hf_lustre_mdt_rec_setxattr_sx_valid = -1;
745 static int hf_lustre_mdt_rec_setxattr_sx_time = -1;
746 static int hf_lustre_mdt_rec_setxattr_sx_padding_5 = -1;
747 static int hf_lustre_mdt_rec_setxattr_sx_padding_6 = -1;
748 static int hf_lustre_mdt_rec_setxattr_sx_padding_7 = -1;
749 static int hf_lustre_mdt_rec_setxattr_sx_size = -1;
750 static int hf_lustre_mdt_rec_setxattr_sx_flags = -1;
751 static int hf_lustre_mdt_rec_setxattr_sx_padding_8 = -1;
752 static int hf_lustre_mdt_rec_setxattr_sx_padding_9 = -1;
753 static int hf_lustre_mdt_rec_setxattr_sx_padding_10 = -1;
754 static int hf_lustre_mdt_rec_setxattr_sx_padding_11 = -1;
756 static int hf_lustre_mdt_getinfo_key = -1;
757 static int hf_lustre_mdt_getinfo_vallen = -1;
758 static int hf_lustre_mdt_getinfo_data = -1;
760 static int hf_lustre_close_data = -1;
761 static int hf_lustre_close_fid = -1;
762 static int hf_lustre_close_data_ver = -1;
763 static int hf_lustre_close_reserved = -1;
765 static int hf_lustre_seq_opc = -1;
766 static int hf_lustre_seq_range = -1;
767 static int hf_lustre_seq_range_start = -1;
768 static int hf_lustre_seq_range_end = -1;
769 static int hf_lustre_seq_range_index = -1;
770 static int hf_lustre_seq_range_flags = -1;
772 static int hf_lustre_fld_opc = -1;
773 static int hf_lustre_fld_range = -1;
774 static int hf_lustre_fld_range_start = -1;
775 static int hf_lustre_fld_range_end = -1;
776 static int hf_lustre_fld_range_index = -1;
777 static int hf_lustre_fld_range_flags = -1;
779 static int hf_lustre_mdt_ioepoch = -1;
780 static int hf_lustre_mdt_ioepoch_handle = -1;
781 static int hf_lustre_mdt_ioepoch_ioepoch = -1;
782 static int hf_lustre_mdt_ioepoch_flags = -1;
783 static int hf_lustre_mdt_ioepoch_padding = -1;
785 static int hf_lustre_capa = -1;
786 static int hf_lustre_capa_fid = -1;
787 static int hf_lustre_capa_opc = -1;
788 static int hf_lustre_capa_uid = -1;
789 static int hf_lustre_capa_gid = -1;
790 static int hf_lustre_capa_flags = -1;
791 static int hf_lustre_capa_keyid = -1;
792 static int hf_lustre_capa_timeout = -1;
793 static int hf_lustre_capa_expiry = -1;
794 static int hf_lustre_capa_hmac = -1;
796 static int hf_lustre_acl = -1;
798 static int hf_lustre_ost_lvb_lvb_size = -1;
799 static int hf_lustre_ost_lvb_lvb_mtime = -1;
800 static int hf_lustre_ost_lvb_lvb_atime = -1;
801 static int hf_lustre_ost_lvb_lvb_ctime = -1;
802 static int hf_lustre_ost_lvb_lvb_blocks = -1;
803 static int hf_lustre_ost_lvb_lvb_mtime_ns = -1;
804 static int hf_lustre_ost_lvb_lvb_atime_ns = -1;
805 static int hf_lustre_ost_lvb_lvb_ctime_ns = -1;
806 static int hf_lustre_ost_lvb_lvb_padding = -1;
808 static int hf_lustre_lustre_handle_cookie = -1;
809 static int hf_lustre_ptlrpc_body_pb_last_committed = -1;
810 static int hf_lustre_ptlrpc_body_pb_version = -1;
811 static int hf_lustre_lustre_msg_v1_lm_bufcount = -1;
812 static int hf_lustre_obd_ioobj_ioo_id = -1;
813 static int hf_lustre_ptlrpc_body_pb_slv = -1;
814 static int hf_lustre_ptlrpc_body_pb_pre_version = -1;
815 static int hf_lustre_ptlrpc_body_pb_padding = -1;
816 static int hf_lustre_ptlrpc_body_pb_jobid = -1;
817 static int hf_lustre_lustre_msg_v1_lm_handle = -1;
818 static int hf_lustre_ptlrpc_body_pb_timeout = -1;
819 static int hf_lustre_obd_statfs_os_bavail = -1;
820 static int hf_lustre_obd_statfs_os_bsize = -1;
821 static int hf_lustre_lustre_msg_v2_lm_repsize = -1;
822 static int hf_lustre_lov_mds_md_v1_lmm_stripe_size = -1;
823 static int hf_lustre_lustre_msg_v1_lm_last_xid = -1;
824 static int hf_lustre_ll_fid_f_type = -1;
825 static int hf_lustre_lustre_msg_v2_lm_cksum = -1;
826 static int hf_lustre_lustre_msg_v2_lm_buflens = -1;
827 static int hf_lustre_lustre_msg_v1_lm_status = -1;
828 static int hf_lustre_lustre_msg_v1_lm_type = -1;
829 static int hf_lustre_niobuf_remote_len = -1;
830 static int hf_lustre_lov_mds_md_v1_lmm_magic = -1;
831 static int hf_lustre_ptlrpc_body_pb_op_flags = -1;
832 static int hf_lustre_ptlrpc_body_pb_type = -1;
833 static int hf_lustre_obd_connect_data_ocd_nllg = -1;
834 static int hf_lustre_obd_connect_data_ocd_nllu = -1;
835 static int hf_lustre_ll_fid_generation = -1;
836 static int hf_lustre_obd_connect_data_ocd_ibits_known = -1;
837 static int hf_lustre_lustre_msg_v2_lm_padding_3 = -1;
838 static int hf_lustre_ptlrpc_body_pb_flags = -1;
839 static int hf_lustre_obd_statfs_os_spare4 = -1;
840 static int hf_lustre_obd_connect_data_ocd_group = -1;
841 static int hf_lustre_lov_ost_data_v1_l_object_seq = -1;
842 static int hf_lustre_lov_mds_md_v1_lmm_object_seq = -1;
843 static int hf_lustre_obd_connect_data_ocd_brw_size = -1;
844 static int hf_lustre_ptlrpc_body_pb_limit = -1;
845 static int hf_lustre_obd_statfs_os_maxbytes = -1;
846 static int hf_lustre_obd_statfs_os_spare5 = -1;
847 static int hf_lustre_lustre_msg_v2_lm_flags = -1;
848 static int hf_lustre_obd_statfs_os_ffree = -1;
849 static int hf_lustre_obd_statfs_os_files = -1;
850 static int hf_lustre_lov_mds_md_v1_lmm_stripe_count = -1;
851 static int hf_lustre_lov_mds_md_v1_lmm_layout_gen = -1;
852 static int hf_lustre_lustre_msg_v1_lm_flags = -1;
853 static int hf_lustre_lustre_msg_v1_lm_last_committed = -1;
854 static int hf_lustre_obd_statfs_os_spare9 = -1;
855 static int hf_lustre_obd_connect_data_ocd_index = -1;
856 static int hf_lustre_opnum = -1;
857 static int hf_lustre_lustre_msg_v1_lm_buflens = -1;
858 static int hf_lustre_obd_statfs_os_spare1 = -1;
859 static int hf_lustre_obd_statfs_os_spare8 = -1;
860 static int hf_lustre_lustre_msg_v1_lm_conn_cnt = -1;
861 static int hf_lustre_ptlrpc_body_pb_transno = -1;
862 static int hf_lustre_ptlrpc_body_pb_service_time = -1;
863 static int hf_lustre_ptlrpc_body_pb_conn_cnt = -1;
864 static int hf_lustre_ptlrpc_body_pb_opc = -1;
865 static int hf_lustre_obd_connect_data_ocd_connect_flags = -1;
866 static int hf_lustre_lov_ost_data_v1_l_object_id = -1;
867 static int hf_lustre_lov_ost_data_v1_l_ost_gen = -1;
868 static int hf_lustre_obd_statfs_os_bfree = -1;
869 static int hf_lustre_obd_connect_data_ocd_version = -1;
870 static int hf_lustre_lov_mds_md_v1_lmm_objects = -1;
871 static int hf_lustre_obd_statfs_os_namelen = -1;
872 static int hf_lustre_obd_statfs_os_blocks = -1;
873 static int hf_lustre_lustre_msg_v2_lm_secflvr = -1;
874 static int hf_lustre_lustre_msg_v1_lm_transno = -1;
875 static int hf_lustre_lov_mds_md_v1_lmm_pattern = -1;
876 static int hf_lustre_lustre_msg_v1_lm_opc = -1;
877 static int hf_lustre_obd_connect_data_ocd_grant = -1;
878 static int hf_lustre_obd_ioobj_ioo_bufcnt = -1;
879 static int hf_lustre_lustre_msg_v1_lm_version = -1;
880 static int hf_lustre_obd_statfs_os_spare7 = -1;
881 static int hf_lustre_obd_statfs_os_fsid = -1;
882 static int hf_lustre_obd_connect_data_ocd_cksum_types = -1;
883 static int hf_lustre_obd_connect_data_ocd_max_easize = -1;
884 static int hf_lustre_obd_connect_data_ocd_instance = -1;
885 static int hf_lustre_obd_connect_data_ocd_maxbytes = -1;
886 static int hf_lustre_obd_connect_data_ocd_maxmodrpcs = -1;
887 static int hf_lustre_obd_statfs_os_type = -1;
888 static int hf_lustre_obd_statfs_os_spare6 = -1;
889 static int hf_lustre_obd_statfs_os_state = -1;
890 static int hf_lustre_obd_statfs_os_spare3 = -1;
891 static int hf_lustre_lustre_msg_v2_lm_magic = -1;
892 static int hf_lustre_lov_mds_md_v1_lmm_object_id = -1;
893 static int hf_lustre_ptlrpc_body_pb_last_seen = -1;
894 static int hf_lustre_obd_ioobj_ioo_max_brw = -1;
895 static int hf_lustre_ptlrpc_body_pb_last_xid = -1;
896 static int hf_lustre_ptlrpc_body_pb_status = -1;
897 static int hf_lustre_niobuf_remote_flags = -1;
898 static int hf_lustre_ll_fid_id = -1;
899 static int hf_lustre_lustre_msg_v2_lm_padding_2 = -1;
900 static int hf_lustre_lov_ost_data_v1_l_ost_idx = -1;
901 static int hf_lustre_obd_ioobj_ioo_seq = -1;
902 static int hf_lustre_niobuf_remote_offset=-1;
903 static int hf_lustre_obd_statfs_os_spare2 = -1;
904 static int hf_lustre_lustre_msg_v2_lm_bufcount = -1;
905 static int hf_lustre_ptlrpc_body_pb_handle = -1;
906 static int hf_lustre_obd_connect_data_ocd_transno = -1;
907 static int hf_lustre_lustre_msg_v1_lm_magic = -1;
908 static int hf_lustre_llog_unlink_rec_lur_tail = -1;
909 static int hf_lustre_llog_size_change_rec_lsc_io_epoch = -1;
910 static int hf_lustre_mgs_target_info_mti_flags = -1;
911 static int hf_lustre_ldlm_reply_lock_policy_res1 = -1;
912 static int hf_lustre_llogd_body_lgd_len = -1;
913 static int hf_lustre_qunit_data_old_qd_id = -1;
914 static int hf_lustre_llog_logid_rec_padding1 = -1;
915 static int hf_lustre_quota_adjust_qunit_padding1 = -1;
916 static int hf_lustre_llog_size_change_rec_lsc_fid = -1;
917 static int hf_lustre_llog_rec_hdr_padding = -1;
918 static int hf_lustre_obdo_o_nlink = -1;
919 static int hf_lustre_ldlm_extent_gid = -1;
920 static int hf_lustre_obdo_o_uid = -1;
921 static int hf_lustre_obdo_o_valid = -1;
922 static int hf_lustre_ldlm_reply_lock_flags = -1;
923 static int hf_lustre_obdo_o_misc = -1;
925 static int hf_lustre_ldlm_request_lock_handle = -1;
926 static int hf_lustre_llog_logid_lgl_oid = -1;
927 static int hf_lustre_ldlm_inodebits_bits = -1;
928 static int hf_lustre_llog_log_hdr_llh_count = -1;
929 static int hf_lustre_llog_gen_rec_lgr_tail = -1;
930 static int hf_lustre_llog_catid_lci_padding3 = -1;
931 static int hf_lustre_qunit_data_qd_qunit = -1;
932 static int hf_lustre_llog_setattr_rec_padding = -1;
933 static int hf_lustre_llog_cookie_lgc_lgl = -1;
934 static int hf_lustre_obd_quotactl_qc_dqinfo = -1;
935 static int hf_lustre_llog_log_hdr_llh_bitmap = -1;
936 static int hf_lustre_obd_quotactl_qc_stat = -1;
937 static int hf_lustre_qunit_data_old2_qd_id = -1;
938 static int hf_lustre_llog_logid_rec_padding2 = -1;
939 static int hf_lustre_llog_logid_rec_padding5 = -1;
940 static int hf_lustre_ldlm_intent_opc = -1;
941 static int hf_lustre_llog_rec_hdr_lrh_type = -1;
942 static int hf_lustre_llog_rec_hdr_lrh_len = -1;
943 static int hf_lustre_llog_setattr_rec_lsr_uid = -1;
944 static int hf_lustre_lov_desc_ld_padding_1 = -1;
945 static int hf_lustre_obdo_o_padding_4 = -1;
946 static int hf_lustre_mgs_target_info_padding = -1;
947 static int hf_lustre_obd_quotactl_qc_dqblk = -1;
948 static int hf_lustre_llogd_conn_body_lgdc_gen = -1;
949 static int hf_lustre_llog_log_hdr_llh_tail = -1;
950 static int hf_lustre_obdo_o_size = -1;
951 static int hf_lustre_ldlm_extent_start = -1;
952 static int hf_lustre_llog_size_change_rec_lsc_hdr = -1;
953 static int hf_lustre_llog_logid_lgl_oseq = -1;
954 static int hf_lustre_llog_cookie_lgc_padding = -1;
955 static int hf_lustre_qunit_data_old_qd_type = -1;
956 static int hf_lustre_ldlm_flock_blocking_export = -1;
957 static int hf_lustre_lov_desc_ld_pattern = -1;
958 static int hf_lustre_qunit_data_qd_id = -1;
959 static int hf_lustre_mgs_target_info_mti_fsname = -1;
960 static int hf_lustre_ldlm_request_lock_flags = -1;
961 static int hf_lustre_obdo_o_mode = -1;
962 static int hf_lustre_mgs_target_info_mti_svname = -1;
963 static int hf_lustre_llogd_body_lgd_logid = -1;
964 static int hf_lustre_llog_log_hdr_llh_size = -1;
965 static int hf_lustre_obdo_o_handle = -1;
966 static int hf_lustre_obdo_o_atime = -1;
967 static int hf_lustre_quota_adjust_qunit_qaq_id = -1;
968 static int hf_lustre_ldlm_lock_desc_l_policy_data = -1;
969 static int hf_lustre_obd_quotactl_qc_cmd = -1;
970 static int hf_lustre_qunit_data_padding = -1;
971 static int hf_lustre_quota_adjust_qunit_qaq_flags = -1;
972 static int hf_lustre_ldlm_lock_desc_l_granted_mode = -1;
973 static int hf_lustre_obdo_o_seq = -1;
974 static int hf_lustre_obdo_o_gid = -1;
975 static int hf_lustre_llog_catid_lci_logid = -1;
976 static int hf_lustre_llog_rec_tail_lrt_index = -1;
977 static int hf_lustre_lov_desc_ld_default_stripe_count = -1;
978 static int hf_lustre_ldlm_resource_desc_lr_padding = -1;
979 static int hf_lustre_cfg_marker_cm_vers = -1;
980 static int hf_lustre_llog_unlink_rec_lur_hdr = -1;
981 static int hf_lustre_llogd_body_lgd_index = -1;
982 static int hf_lustre_cfg_marker_cm_tgtname = -1;
983 static int hf_lustre_llog_setattr_rec_lsr_ogen = -1;
984 static int hf_lustre_llog_logid_rec_lid_hdr = -1;
985 static int hf_lustre_obdo_o_ioepoch = -1;
986 static int hf_lustre_ost_body_oa = -1;
987 static int hf_lustre_llog_logid_rec_padding3 = -1;
988 static int hf_lustre_llog_log_hdr_llh_flags = -1;
989 static int hf_lustre_llog_setattr_rec_lsr_oid = -1;
990 static int hf_lustre_llog_size_change_rec_padding = -1;
991 static int hf_lustre_mgs_target_info_mti_config_ver = -1;
992 static int hf_lustre_cfg_marker_cm_createtime = -1;
993 static int hf_lustre_qunit_data_old_qd_count = -1;
994 static int hf_lustre_llog_catid_lci_padding1 = -1;
995 static int hf_lustre_lov_desc_ld_active_tgt_count = -1;
996 static int hf_lustre_obdo_o_lcookie = -1;
997 static int hf_lustre_llog_gen_rec_lgr_gen = -1;
998 static int hf_lustre_obdo_o_id = -1;
999 static int hf_lustre_mgs_target_info_mti_uuid = -1;
1000 static int hf_lustre_llog_rec_hdr_lrh_index = -1;
1001 static int hf_lustre_llog_setattr_rec_lsr_hdr = -1;
1002 static int hf_lustre_mgs_target_info_mti_stripe_index = -1;
1003 static int hf_lustre_llog_gen_conn_cnt = -1;
1004 static int hf_lustre_obdo_o_padding_6 = -1;
1005 static int hf_lustre_llog_cookie_lgc_index = -1;
1006 static int hf_lustre_lov_desc_ld_uuid = -1;
1007 static int hf_lustre_ldlm_reply_lock_desc = -1;
1008 static int hf_lustre_lov_desc_ld_padding_0 = -1;
1009 static int hf_lustre_llog_unlink_rec_lur_ogen = -1;
1010 static int hf_lustre_cfg_marker_cm_flags = -1;
1011 static int hf_lustre_obdo_o_padding_3 = -1;
1012 static int hf_lustre_ldlm_request_lock_desc = -1;
1013 static int hf_lustre_obdo_o_flags = -1;
1014 static int hf_lustre_mgs_target_info_mti_params = -1;
1015 static int hf_lustre_llog_logid_lgl_ogen = -1;
1016 static int hf_lustre_cfg_marker_cm_comment = -1;
1017 static int hf_lustre_llog_unlink_rec_lur_oid = -1;
1018 static int hf_lustre_qunit_data_qd_count = -1;
1019 static int hf_lustre_obdo_o_mtime = -1;
1020 static int hf_lustre_obdo_o_blksize = -1;
1021 static int hf_lustre_ldlm_res_id_name = -1;
1022 static int hf_lustre_ldlm_reply_lock_handle = -1;
1023 static int hf_lustre_llogd_body_lgd_saved_index = -1;
1024 static int hf_lustre_qunit_data_old_qd_isblk = -1;
1025 static int hf_lustre_obdo_o_blocks = -1;
1026 static int hf_lustre_lov_desc_ld_padding_2 = -1;
1027 static int hf_lustre_llog_logid_rec_lid_tail = -1;
1028 static int hf_lustre_obdo_o_grant = -1;
1029 static int hf_lustre_obdo_o_uid_h = -1;
1030 static int hf_lustre_obdo_o_gid_h = -1;
1031 static int hf_lustre_quota_adjust_qunit_qaq_iunit_sz = -1;
1032 static int hf_lustre_llog_unlink_rec_padding = -1;
1033 static int hf_lustre_ldlm_lock_desc_l_req_mode = -1;
1034 static int hf_lustre_ldlm_extent_end = -1;
1035 static int hf_lustre_llog_gen_rec_lgr_hdr = -1;
1036 static int hf_lustre_llogd_body_lgd_llh_flags = -1;
1037 static int hf_lustre_llog_log_hdr_llh_cat_idx = -1;
1038 static int hf_lustre_llog_log_hdr_llh_bitmap_offset=-1;
1039 static int hf_lustre_ldlm_reply_lock_padding = -1;
1040 static int hf_lustre_obd_quotactl_qc_id = -1;
1041 static int hf_lustre_llog_logid_rec_padding4 = -1;
1042 static int hf_lustre_llog_setattr_rec_lsr_gid = -1;
1043 static int hf_lustre_obd_quotactl_qc_type = -1;
1044 static int hf_lustre_cfg_marker_padding = -1;
1045 static int hf_lustre_mgs_target_info_mti_nids = -1;
1046 static int hf_lustre_obdo_o_stripe_idx = -1;
1047 static int hf_lustre_llogd_conn_body_lgdc_logid = -1;
1048 static int hf_lustre_ldlm_flock_blocking_pid = -1;
1049 static int hf_lustre_lov_desc_ld_tgt_count = -1;
1050 static int hf_lustre_llogd_body_lgd_cur_offset=-1;
1051 static int hf_lustre_qunit_data_old2_qd_count = -1;
1052 static int hf_lustre_qunit_data_old2_qd_flags = -1;
1053 static int hf_lustre_ldlm_flock_start = -1;
1054 static int hf_lustre_quota_adjust_qunit_qaq_bunit_sz = -1;
1055 static int hf_lustre_ldlm_flock_pid = -1;
1056 static int hf_lustre_lov_desc_ld_default_stripe_size = -1;
1057 static int hf_lustre_llog_log_hdr_llh_tgtuuid = -1;
1058 static int hf_lustre_cfg_marker_cm_step = -1;
1059 static int hf_lustre_mgs_send_param_mgs_param = -1;
1060 static int hf_lustre_lov_desc_ld_default_stripe_offset=-1;
1061 static int hf_lustre_ldlm_resource_desc_lr_name = -1;
1062 static int hf_lustre_llog_rec_tail_lrt_len = -1;
1063 static int hf_lustre_llog_log_hdr_llh_timestamp = -1;
1064 static int hf_lustre_llog_catid_lci_padding2 = -1;
1065 static int hf_lustre_llogd_conn_body_lgdc_ctxt_idx = -1;
1066 static int hf_lustre_cfg_marker_cm_canceltime = -1;
1067 static int hf_lustre_mgs_target_info_mti_lustre_ver = -1;
1068 static int hf_lustre_obdo_o_parent_ver = -1;
1069 static int hf_lustre_qunit_data_qd_flags = -1;
1070 static int hf_lustre_llog_logid_rec_lid_id = -1;
1071 static int hf_lustre_obdo_o_parent_oid = -1;
1072 static int hf_lustre_llog_gen_mnt_cnt = -1;
1073 static int hf_lustre_llog_size_change_rec_lsc_tail = -1;
1074 static int hf_lustre_obdo_o_padding_5 = -1;
1075 static int hf_lustre_ldlm_lock_desc_l_resource = -1;
1076 static int hf_lustre_obdo_o_parent_seq = -1;
1077 static int hf_lustre_ldlm_request_lock_count = -1;
1078 static int hf_lustre_ldlm_flock_end = -1;
1079 static int hf_lustre_mgs_target_info_mti_nid_count = -1;
1080 static int hf_lustre_obdo_o_ctime = -1;
1081 static int hf_lustre_ldlm_reply_lock_policy_res2 = -1;
1082 static int hf_lustre_llogd_body_lgd_ctxt_idx = -1;
1083 static int hf_lustre_lov_desc_ld_qos_maxage = -1;
1084 static int hf_lustre_ldlm_resource_desc_lr_type = -1;
1085 static int hf_lustre_llog_setattr_rec_lsr_tail = -1;
1086 static int hf_lustre_llog_cookie_lgc_subsys = -1;
1087 static int hf_lustre_llog_log_hdr_llh_hdr = -1;
1088 static int hf_lustre_llog_log_hdr_llh_reserved = -1;
1090 /* Header field declarations for field from lustre_user.h*/
1091 static int hf_lustre_obd_dqinfo_dqi_valid = -1;
1092 static int hf_lustre_obd_dqblk_dqb_isoftlimit = -1;
1093 static int hf_lustre_obd_dqblk_dqb_bhardlimit = -1;
1094 static int hf_lustre_obd_dqblk_dqb_curspace = -1;
1095 static int hf_lustre_obd_dqblk_dqb_itime = -1;
1096 static int hf_lustre_obd_dqblk_dqb_valid = -1;
1097 static int hf_lustre_obd_dqinfo_dqi_igrace = -1;
1098 static int hf_lustre_obd_dqinfo_dqi_bgrace = -1;
1099 static int hf_lustre_obd_dqblk_padding = -1;
1100 static int hf_lustre_obd_dqblk_dqb_curinodes = -1;
1101 static int hf_lustre_obd_dqblk_dqb_bsoftlimit = -1;
1102 static int hf_lustre_obd_dqinfo_dqi_flags = -1;
1103 static int hf_lustre_obd_dqblk_dqb_btime = -1;
1104 static int hf_lustre_obd_dqblk_dqb_ihardlimit = -1;
1105 static int hf_lustre_ldlm_intent_opc_open = -1 ;
1106 static int hf_lustre_ldlm_intent_opc_creat = -1;
1107 static int hf_lustre_ldlm_intent_opc_readdir = -1;
1108 static int hf_lustre_ldlm_intent_opc_getattr = -1;
1109 static int hf_lustre_ldlm_intent_opc_lookup = -1;
1110 static int hf_lustre_ldlm_intent_opc_unlink = -1;
1111 static int hf_lustre_ldlm_intent_opc_trunc = -1;
1112 static int hf_lustre_ldlm_intent_opc_getxattr = -1;
1113 static int hf_lustre_ldlm_intent_opc_exec = -1;
1114 static int hf_lustre_ldlm_intent_opc_pin = -1;
1115 static int hf_lustre_ldlm_intent_opc_layout = -1;
1116 static int hf_lustre_ldlm_intent_opc_q_dqacq = -1;
1117 static int hf_lustre_ldlm_intent_opc_q_conn = -1;
1118 static int hf_lustre_ldlm_intent_opc_setxattr = -1;
1119 static int hf_lustre_llog_hdr_llh_flag_zap_when_empty = -1;
1120 static int hf_lustre_llog_hdr_llh_flag_is_cat = -1;
1121 static int hf_lustre_llog_hdr_llh_flag_is_play = -1;
1122 static int hf_lustre_lu_ladvise = -1;
1123 static int hf_lustre_lu_ladvise_lla_start = -1;
1124 static int hf_lustre_lu_ladvise_lla_end = -1;
1125 static int hf_lustre_lu_ladvise_lla_advice = -1;
1126 static int hf_lustre_lu_ladvise_lla_padding = -1;
1128 static int hf_lustre_ldlm_key = -1;
1129 static int hf_lustre_ldlm_value = -1;
1131 static int hf_lustre_hsm_request = -1;
1132 static int hf_lustre_hsm_req_action = -1;
1133 static int hf_lustre_hsm_req_archive_id = -1;
1134 static int hf_lustre_hsm_req_flags = -1;
1135 static int hf_lustre_hsm_req_itemcount = -1;
1136 static int hf_lustre_hsm_req_data_len = -1;
1138 static int hf_lustre_hsm_user_item = -1;
1139 static int hf_lustre_hsm_user_item_fid = -1;
1140 static int hf_lustre_hsm_user_item_extent = -1;
1142 static int hf_lustre_hsm_extent = -1;
1143 static int hf_lustre_hsm_extent_offset = -1;
1144 static int hf_lustre_hsm_extent_length = -1;
1146 static int hf_lustre_hsm_progress = -1;
1147 static int hf_lustre_hsm_prog_fid = -1;
1148 static int hf_lustre_hsm_prog_cookie = -1;
1149 static int hf_lustre_hsm_prog_extent = -1;
1150 static int hf_lustre_hsm_prog_flags = -1;
1151 static int hf_lustre_hsm_prog_errval = -1;
1152 static int hf_lustre_hsm_prog_data_ver = -1;
1154 static int hf_lustre_hsm_state_get = -1;
1155 static int hf_lustre_hsm_us_states = -1;
1156 static int hf_lustre_hsm_us_archive_id = -1;
1157 static int hf_lustre_hsm_us_in_prog_state = -1;
1158 static int hf_lustre_hsm_us_in_prog_action = -1;
1159 static int hf_lustre_hsm_us_in_prog_location = -1;
1160 static int hf_lustre_hsm_us_ext_info = -1;
1163 static int hf_lustre_qb = -1;
1164 static int hf_lustre_qb_fid = -1;
1165 static int hf_lustre_qb_id = -1;
1166 static int hf_lustre_qb_flags = -1;
1167 static int hf_lustre_qb_padding = -1;
1168 static int hf_lustre_qb_count = -1;
1169 static int hf_lustre_qb_usage = -1;
1170 static int hf_lustre_qb_slv_ver = -1;
1171 static int hf_lustre_qb_lockh = -1;
1172 static int hf_lustre_qb_glb_lockh = -1;
1174 static int hf_lustre_qid_fid = -1;
1175 static int hf_lustre_qid_uid = -1;
1176 static int hf_lustre_qid_gid = -1;
1179 static int hf_lustre_layout_intent = -1;
1180 static int hf_lustre_layout_intent_opc = -1;
1181 static int hf_lustre_layout_intent_flags = -1;
1182 static int hf_lustre_layout_intent_start = -1;
1183 static int hf_lustre_layout_intent_end = -1;
1185 static int hf_lustre_generic_data = -1;
1186 /* --------------------------------------------------------------------*/
1189 /* proto declaration */
1190 static gint proto_lustre = -1;
1192 typedef int (dissect_func)(
1193 tvbuff_t *tvb, gint offset, packet_info *pinfo _U_, proto_tree *tree,
1196 static dissect_func dissect_uint64, dissect_uint32, dissect_uint16, dissect_uint8;
1199 #include "lustre_dlm_flags_wshark.c"
1202 static int ldlm_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint64 intent_opc _U_) ;
1203 static int add_extra_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_) ;
1206 /* ======================================================================== */
1207 /*the value_string*/
1208 const value_string lustre_ldlm_opcode[] = {
1209 { IT_OPEN , "IT_OPEN "},
1210 { IT_CREAT , "IT_CREAT "},
1211 { IT_READDIR , "IT_READDIR "},
1212 { IT_GETATTR , "IT_GETATTR "},
1213 { IT_LOOKUP , "IT_LOOKUP "},
1214 { IT_UNLINK , "IT_UNLINK "},
1215 { IT_GETXATTR, "IT_GETXATTR"},
1216 { IT_EXEC , "IT_EXEC "},
1217 { IT_PIN , "IT_PIN "},
1221 const value_string lustre_lov_magic[] = {
1222 { LOV_MAGIC_V1, "LOV_MAGIC_V1" },
1226 const value_string lustre_llog_op_type[] = {
1227 {LLOG_PAD_MAGIC ,"LLOG_PAD_MAGIC "},
1228 {OST_SZ_REC ,"OST_SZ_REC "},
1229 {OST_RAID1_REC ,"OST_RAID1_REC "},
1230 {MDS_UNLINK_REC ,"MDS_UNLINK_REC "},
1231 {MDS_SETATTR_REC ,"MDS_SETATTR_REC "},
1232 {OBD_CFG_REC ,"OBD_CFG_REC "},
1233 {PTL_CFG_REC ,"PTL_CFG_REC "},
1234 {LLOG_GEN_REC ,"LLOG_GEN_REC "},
1235 {LLOG_JOIN_REC ,"LLOG_JOIN_REC "},
1236 {LLOG_HDR_MAGIC ,"LLOG_HDR_MAGIC "},
1237 {LLOG_LOGID_MAGIC ,"LLOG_LOGID_MAGIC"},
1241 const value_string lustre_llog_hdr_llh_flags[]= {
1242 {LLOG_F_ZAP_WHEN_EMPTY , "LLOhdr_llh_G_F_ZAP_WHEN_EMPTY"},
1243 {LLOG_F_IS_CAT , "LLOhdr_llh_G_F_IS_CAT"},
1244 {LLOG_F_IS_PLAIN , "LLOG_F_IS_PLAIN"},
1248 const value_string lustre_mds_flags_vals[] = {
1249 {0x00000008, "LUSTRE_SYNC_FL "}, /* Synchronous updates */
1250 {0x00000010, "LUSTRE_IMMUTABLE_FL "}, /* Immutable file */
1251 {0x00000020, "LUSTRE_APPEND_FL "}, /* writes to file may only append */
1252 {0x00000040, "LUSTRE_NODUMP_FL "}, /* do not dump file */
1253 {0x00000080, "LUSTRE_NOATIME_FL "}, /* do not update atime */
1254 {0x00001000, "LUSTRE_INDEX_FL "}, /* hash-indexed directory */
1255 {0x00010000, "LUSTRE_DIRSYNC_FL "}, /* dirsync behaviour (dir only) */
1256 {0x00020000, "LUSTRE_TOPDIR_FL "}, /* Top of directory hierarchies */
1257 {0x00100000, "LUSTRE_DIRECTIO_FL "}, /* Use direct i/o */
1258 {0x10000000, "LUSTRE_INLINE_DATA_FL "}, /* Inode has inline data. */
1262 const value_string lustre_mgs_config_body_types[] = {
1270 const value_string lustre_LMTypes[] = {
1271 { PTL_RPC_MSG_REQUEST, "request"},
1272 { PTL_RPC_MSG_ERR , "error"},
1273 { PTL_RPC_MSG_REPLY , "reply"},
1277 const value_string lustre_mds_reint_t_vals[] = {
1278 { REINT_SETATTR, "REINT_SETATTR" },
1279 { REINT_CREATE, "REINT_CREATE" },
1280 { REINT_LINK, "REINT_LINK" },
1281 { REINT_UNLINK, "REINT_UNLINK" },
1282 { REINT_RENAME, "REINT_RENAME" },
1283 { REINT_OPEN, "REINT_OPEN" },
1284 { REINT_SETXATTR, "REINT_SETXATTR" },
1285 { REINT_RMENTRY, "REINT_RMENTRY" },
1286 { REINT_MIGRATE, "REINT_MIGRATE" },
1289 const value_string lustre_op_codes[] = {
1292 {1 , "OST_GETATTR"},
1293 {2 , "OST_SETATTR"},
1297 {6 , "OST_DESTROY"},
1298 {7 , "OST_GET_INFO"},
1299 {8 , "OST_CONNECT"},
1300 {9 , "OST_DISCONNECT"},
1304 {13 , "OST_STATFS"},
1305 {14 , "OST_SAN_READ(deprecated)"},
1306 {15 , "OST_SAN_WRITE(deprecated)"},
1308 {17 , "OST_SET_INFO"},
1309 {18 , "OST_QUOTACHECK"},
1310 {19 , "OST_QUOTACTL"},
1311 {20 , "OST_QUOTA_ADJUST_QUNIT"},
1312 {21 , "OST_LADVISE"},
1313 {22 , "OST_LAST_OPC"},
1315 {33 , "MDS_GETATTR"},
1316 {34 , "MDS_GETATTR_NAME"},
1319 {37 , "MDS_READPAGE"},
1320 {38 , "MDS_CONNECT"},
1321 {39 , "MDS_DISCONNECT"},
1322 {40 , "MDS_GET_ROOT"},
1323 {41 , "MDS_STATFS"},
1327 {45 , "MDS_DONE_WRITING"},
1328 {46 , "MDS_SET_INFO"},
1329 {47 , "MDS_QUOTACHECK"},
1330 {48 , "MDS_QUOTACTL"},
1331 {49 , "MDS_GETXATTR"},
1332 {50 , "MDS_SETXATTR"},
1333 {51 , "MDS_WRITEPAGE"},
1334 {52 , "MDS_IS_SUBDIR"},
1335 {53 , "MDS_GET_INFO"},
1336 {54 , "MDS_HSM_STATE_GET"},
1337 {55 , "MDS_HSM_STATE_SET"},
1338 {56 , "MDS_HSM_ACTION"},
1339 {57 , "MDS_HSM_PROGRESS"},
1340 {58 , "MDS_HSM_REQUEST"},
1341 {59 , "MDS_HSM_CT_REGISTER"},
1342 {60 , "MDS_HSM_CT_UNREGISTER"},
1343 {61 , "MDS_SWAP_LAYOUTS"},
1344 {62 , "MDS_LAST_OPC"},
1346 {101 , "LDLM_ENQUEUE"},
1347 {102 , "LDLM_CONVERT"},
1348 {103 , "LDLM_CANCEL"},
1349 {104 , "LDLM_BL_CALLBACK"},
1350 {105 , "LDLM_CP_CALLBACK"},
1351 {106 , "LDLM_GL_CALLBACK"},
1352 {107 , "LDLM_SET_INFO"},
1353 {108 , "LDLM_LAST_OPC"},
1355 {250 , "MGS_CONNECT"},
1356 {251 , "MGS_DISCONNECT"},
1357 {252 , "MGS_EXCEPTION"},
1358 {253 , "MGS_TARGET_REG"},
1359 {254 , "MGS_TARGET_DEL"},
1360 {255 , "MGS_SET_INFO"},
1361 {256 , "MGS_CONFIG_READ"},
1362 {257 , "MGS_LAST_OPC"},
1365 {401 , "OBD_LOG_CANCEL"},
1366 {402 , "OBD_QC_CALLBACK"},
1367 {403 , "OBD_LAST_OPC"},
1369 { 501, "LLOG_ORIGIN_HANDLE_CREATE"},
1370 { 502, "LLOG_ORIGIN_HANDLE_NEXT_BLOCK"},
1371 { 503, "LLOG_ORIGIN_HANDLE_READ_HEADER"},
1372 { 504, "LLOG_ORIGIN_HANDLE_WRITE_REC"},
1373 { 505, "LLOG_ORIGIN_HANDLE_CLOSE"},
1374 { 506, "LLOG_ORIGIN_CONNECT"},
1375 { 507, "LLOG_CATINFO"},
1376 { 508, "LLOG_ORIGIN_HANDLE_PREV_BLOCK"},
1377 { 509, "LLOG_ORIGIN_HANDLE_DESTROY"},
1378 /* SEQ RPC opcodes */
1379 { 700, "SEQ_QUERY"},
1380 { 701, "SEQ_LAST_OPC"},
1381 /* FLD RPC opcodes */
1382 { 900, "FLD_QUERY"},
1383 { 901, "FLD_LAST_OPC"},
1387 /* detailled version the information came from : http://wiki.lustre.org/images/e/e5/LustreInternals_Architecture.pdf */
1388 const value_string lustre_ldlm_mode_vals[] = {
1389 { LCK_MINMODE, "MINMODE" },
1390 { LCK_EX, "Exclusive" },
1391 { LCK_PW, "Protected Write" },
1392 { LCK_PR, "Protected Read" },
1393 { LCK_CW, "Concurrent Write" },
1394 { LCK_CR, "Concurrent Read" },
1396 { LCK_GROUP, "GROUP" },
1400 const value_string lustre_ldlm_type_vals[] = {
1401 { LDLM_PLAIN, "LDLM_PLAIN" },
1402 { LDLM_EXTENT,"LDLM_EXTENT" },
1403 { LDLM_FLOCK, "LDLM_FLOCK" },
1404 { LDLM_IBITS, "LDLM_IBITS" },
1409 const value_string lustre_llog_cmd_t_vals[] = {
1410 { LLOG_ORIGIN_HANDLE_CREATE, "LLOG_ORIGIN_HANDLE_CREATE" },
1411 { LLOG_ORIGIN_HANDLE_NEXT_BLOCK, "LLOG_ORIGIN_HANDLE_NEXT_BLOCK" },
1412 { LLOG_ORIGIN_HANDLE_READ_HEADER, "LLOG_ORIGIN_HANDLE_READ_HEADER" },
1413 { LLOG_ORIGIN_HANDLE_WRITE_REC, "LLOG_ORIGIN_HANDLE_WRITE_REC" },
1414 { LLOG_ORIGIN_HANDLE_CLOSE, "LLOG_ORIGIN_HANDLE_CLOSE" },
1415 { LLOG_ORIGIN_CONNECT, "LLOG_ORIGIN_CONNECT" },
1416 { LLOG_CATINFO, "LLOG_CATINFO" },
1417 { LLOG_ORIGIN_HANDLE_PREV_BLOCK, "LLOG_ORIGIN_HANDLE_PREV_BLOCK" },
1418 { LLOG_ORIGIN_HANDLE_DESTROY, "LLOG_ORIGIN_HANDLE_DESTROY" },
1422 /* from lustre_user.h */
1423 enum hsm_user_action {
1424 HUA_NONE = 1, /* no action (noop) */
1425 HUA_ARCHIVE = 10, /* copy to hsm */
1426 HUA_RESTORE = 11, /* prestage */
1427 HUA_RELEASE = 12, /* drop ost objects */
1428 HUA_REMOVE = 13, /* remove from archive */
1429 HUA_CANCEL = 14 /* cancel a request */
1431 const value_string lustre_hsm_user_action_t_vals[] = {
1432 { HUA_NONE, "NOOP" },
1433 { HUA_ARCHIVE, "ARCHIVE" },
1434 { HUA_RESTORE, "RESTORE" },
1435 { HUA_RELEASE, "RELEASE" },
1436 { HUA_REMOVE, "REMOVE" },
1437 { HUA_CANCEL, "CANCEL" },
1441 HS_EXISTS = 0x00000001,
1442 HS_DIRTY = 0x00000002,
1443 HS_RELEASED = 0x00000004,
1444 HS_ARCHIVED = 0x00000008,
1445 HS_NORELEASE = 0x00000010,
1446 HS_NOARCHIVE = 0x00000020,
1447 HS_LOST = 0x00000040,
1449 const value_string lustre_hsm_states_t_vals[] = {
1450 { HS_EXISTS, "EXISTS" },
1451 { HS_DIRTY, "DIRTY" },
1452 { HS_RELEASED, "RELEASED" },
1453 { HS_ARCHIVED, "ARCHIVED" },
1454 { HS_NORELEASE, "NORELEASED" },
1455 { HS_NOARCHIVE, "NOARCHIVED" },
1456 { HS_LOST, "LOST" },
1459 enum hsm_progress_states {
1464 const value_string lustre_hsm_progress_state_t_vals[] = {
1465 { HPS_WAITING, "WAITING" },
1466 { HPS_RUNNING, "RUNNING" },
1467 { HPS_DONE, "DONE" },
1470 #ifndef ENABLE_STATIC
1471 const gchar version[] = VERSION;
1473 /* Start the functions we need for the plugin stuff */
1476 plugin_register(void)
1478 extern void proto_register_dcerpc_lustre(void);
1480 proto_register_dcerpc_lustre();
1484 plugin_reg_handoff(void)
1486 extern void proto_reg_handoff_lustre(void);
1488 proto_reg_handoff_lustre();
1493 /* ------------------------------------------------------------------- */
1494 /* display functions */
1495 /* ------------------------------------------------------------------- */
1496 /* display str in left corner and in COL */
1497 /* @gint col : the col where we add the information */
1498 static void display_info_str(proto_item *pi, column_info *cinfo, gint col,
1502 proto_item_append_text(pi, str);
1505 col_append_str(cinfo, col, str);
1509 * Need to be (re)written
1511 static void display_info_fstr(proto_item *pi, column_info *cinfo, gint col,
1512 const char *format, const gchar *str)
1515 proto_item_append_text(pi, format, str);
1518 col_append_fstr(cinfo, col, format, str);
1522 /* -------------------------- basic dissect functions ------------------- */
1523 static int dissect_uint64(tvbuff_t *tvb, gint offset, packet_info *pinfo _U_,
1524 proto_tree *tree, int hfindex)
1526 proto_tree_add_item(tree, hfindex, tvb, offset, 8, TRUE);
1531 dissect_uint32(tvbuff_t *tvb, gint offset, packet_info *pinfo _U_,
1532 proto_tree *tree, int hfindex)
1534 proto_tree_add_item(tree, hfindex, tvb, offset, 4, TRUE);
1540 (tvbuff_t *tvb, gint offset, packet_info *pinfo _U_, proto_tree *tree, int hfindex)
1542 proto_tree_add_item(tree, hfindex, tvb, offset, 2, TRUE);
1548 (tvbuff_t *tvb, gint offset, packet_info *pinfo _U_, proto_tree *tree, int hfindex)
1550 proto_tree_add_item(tree, hfindex, tvb, offset, 1, TRUE);
1553 /* ------------------------------------------------------------------------- */
1555 /* dissect raw data */
1557 lustre_dissect_element_data(tvbuff_t *tvb _U_, int offset _U_,
1558 packet_info *pinfo _U_, proto_tree *parent_tree _U_,
1559 int hf_index _U_, guint32 buf_num)
1561 proto_item *item = NULL;
1566 old_offset = offset;
1568 data_len = LUSTRE_BUFFER_LEN(buf_num);
1572 proto_tree_add_item(parent_tree, hf_index, tvb, offset, data_len, TRUE);
1575 proto_item_set_len(item, offset-old_offset);
1576 offset = add_extra_padding(tvb, offset, pinfo, parent_tree);
1582 lustre_dissect_struct_element_data(tvbuff_t *tvb _U_, int offset _U_,
1583 packet_info *pinfo _U_, proto_tree *parent_tree _U_,
1584 int hf_index _U_, guint32 data_len)
1586 proto_item *item = NULL;
1591 proto_tree_add_item(parent_tree, hf_index, tvb, offset, data_len, TRUE);
1594 proto_item_set_len(item, data_len);
1595 offset = add_extra_padding(tvb, offset, pinfo, parent_tree);
1601 lustre_dissect_struct_hmac(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
1602 proto_tree *parent_tree _U_, int hf_index _U_, int max_length)
1606 proto_item *item = NULL;
1608 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, 0, TRUE);
1609 for (i=0; i < max_length; ++i) {
1610 val = tvb_get_guint8(tvb, offset+i);
1611 proto_item_append_text(item, (i) ? "%02x" : ": %#02x", val);
1614 offset += max_length;
1615 proto_item_set_len(item, max_length);
1619 /* ------------------------------------------------------------------------ */
1623 /* IDL: struct lustre_handle { */
1624 /* IDL: uint64 cookie; */
1628 lustre_dissect_element_handle_cookie(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1630 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lustre_handle_cookie);
1636 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_)
1638 proto_item *item = NULL;
1639 proto_tree *tree = NULL;
1645 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1646 tree = proto_item_add_subtree(item, ett_lustre_lustre_handle_cookie);
1649 offset=lustre_dissect_element_handle_cookie(tvb, offset, pinfo, tree);
1652 proto_item_set_len(item, offset-old_offset);
1657 /* IDL: struct obd_connect_data { */
1658 /* IDL: uint64 ocd_connect_flags; */
1659 /* IDL: uint32 ocd_version; */
1660 /* IDL: uint32 ocd_grant; */
1661 /* IDL: uint32 ocd_index; */
1662 /* IDL: uint32 ocd_brw_size; */
1663 /* IDL: uint64 ocd_ibits_known; */
1664 /* IDL: uint32 ocd_nllu; */
1665 /* IDL: uint32 ocd_nllg; */
1666 /* IDL: uint64 ocd_transno; */
1667 /* IDL: uint32 ocd_group; */
1668 /* IDL: uint32 ocd_cksum_types; */
1669 /* IDL: uint64 padding1; */
1670 /* IDL: uint64 padding2; */
1674 lustre_dissect_element_obd_connect_data_ocd_connect_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1676 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_connect_flags);
1681 lustre_dissect_element_obd_connect_data_ocd_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1684 guint32 major, minor, patch, fix;
1687 version = tvb_get_letohl(tvb, offset);
1688 fix = version & 0xff;
1690 patch = version & 0xff;
1692 minor = version & 0xff;
1694 major = version & 0xff;
1696 item = proto_tree_add_item(tree, hf_lustre_obd_connect_data_ocd_version,
1697 tvb, offset, 0, TRUE);
1698 proto_item_append_text(item, ": %d.%d.%d.%d",
1699 major, minor, patch, fix);
1700 proto_item_set_len(item, 4);
1707 lustre_dissect_element_obd_connect_data_ocd_grant(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1709 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_grant);
1715 lustre_dissect_element_obd_connect_data_ocd_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1717 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_index);
1723 lustre_dissect_element_obd_connect_data_ocd_brw_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1725 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_brw_size);
1731 lustre_dissect_element_obd_connect_data_ocd_ibits_known(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1733 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_ibits_known);
1739 lustre_dissect_element_obd_connect_data_ocd_nllu(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1741 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_nllu);
1747 lustre_dissect_element_obd_connect_data_ocd_cksum_types(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1749 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_cksum_types);
1755 lustre_dissect_struct_obd_connect_data(tvbuff_t *tvb _U_, int offset _U_,
1756 packet_info *pinfo _U_,
1757 proto_tree *parent_tree _U_,
1758 int hf_index _U_, guint32 buf_num)
1760 proto_item *item = NULL;
1761 proto_tree *tree = NULL;
1765 data_len = LUSTRE_BUFFER_LEN(buf_num);
1769 old_offset = offset;
1772 item = proto_tree_add_item(parent_tree, hf_index, tvb,
1774 tree = proto_item_add_subtree(item,
1775 ett_lustre_obd_connect_data);
1778 /* ocd_connect_flags = get_... */
1779 offset = lustre_dissect_element_obd_connect_data_ocd_connect_flags(tvb,
1780 offset, pinfo, tree);
1782 offset = lustre_dissect_element_obd_connect_data_ocd_version(tvb,
1783 offset, pinfo, tree);
1785 offset = lustre_dissect_element_obd_connect_data_ocd_grant(tvb,
1786 offset, pinfo, tree);
1788 offset = lustre_dissect_element_obd_connect_data_ocd_index(tvb,
1789 offset, pinfo, tree);
1791 offset = lustre_dissect_element_obd_connect_data_ocd_brw_size(tvb,
1792 offset, pinfo, tree);
1794 offset = lustre_dissect_element_obd_connect_data_ocd_ibits_known(tvb,
1795 offset, pinfo, tree);
1797 if (data_len == 72) {
1798 offset = lustre_dissect_element_obd_connect_data_ocd_nllu(tvb,
1799 offset, pinfo, tree);
1801 } else { /* if data_len == 192 */
1802 /* Actually blocksize, inodespace, grant_extent */
1803 offset = lustre_dissect_element_obd_connect_data_ocd_nllu(tvb,
1804 offset, pinfo, tree);
1807 offset = dissect_uint32(tvb, offset, pinfo, tree,
1808 hf_lustre_obd_connect_data_ocd_nllg);
1809 offset = dissect_uint64(tvb, offset, pinfo, tree,
1810 hf_lustre_obd_connect_data_ocd_transno);
1811 offset = dissect_uint32(tvb, offset, pinfo, tree,
1812 hf_lustre_obd_connect_data_ocd_group);
1813 offset = lustre_dissect_element_obd_connect_data_ocd_cksum_types(tvb,
1814 offset, pinfo, tree);
1816 /* if (ocd_connect_flags & OBD_CONNECT_MAX_EASIZE) */
1817 offset = dissect_uint32(tvb, offset, pinfo, tree,
1818 hf_lustre_obd_connect_data_ocd_max_easize);
1820 offset = dissect_uint32(tvb, offset, pinfo, tree,
1821 hf_lustre_obd_connect_data_ocd_instance);
1822 /* if (ocd_connect_flags & OBD_CONNECT_MAXBYTES) */
1823 offset = dissect_uint64(tvb, offset, pinfo, tree,
1824 hf_lustre_obd_connect_data_ocd_maxbytes);
1825 if (data_len >= 74) /* && (flags & OBD_CONNECT_MULTIMODRPCS) */
1826 offset = dissect_uint16(tvb, offset, pinfo, tree,
1827 hf_lustre_obd_connect_data_ocd_maxmodrpcs);
1829 if (old_offset+data_len > offset) {
1830 proto_tree_add_item(tree, hf_lustre_extra_padding,
1831 tvb, offset, (old_offset+data_len)-offset, TRUE);
1832 offset = old_offset+data_len;
1835 proto_item_set_len(item, offset-old_offset);
1841 /* IDL: struct lov_ost_data_v1 { */
1842 /* IDL: uint64 l_object_id; */
1843 /* IDL: uint64 l_object_seq; */
1844 /* IDL: uint32 l_ost_gen; */
1845 /* IDL: uint32 l_ost_idx; */
1849 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_)
1851 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_ost_data_v1_l_object_id);
1857 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_)
1859 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_ost_data_v1_l_object_seq);
1865 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_)
1867 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_ost_data_v1_l_ost_gen);
1873 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_)
1875 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_ost_data_v1_l_ost_idx);
1881 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_)
1883 proto_item *item = NULL;
1884 proto_tree *tree = NULL;
1892 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1893 tree = proto_item_add_subtree(item, ett_lustre_lov_ost_data_v1);
1896 offset=lustre_dissect_element_lov_ost_data_v1_l_object_id(tvb, offset, pinfo, tree);
1898 offset=lustre_dissect_element_lov_ost_data_v1_l_object_seq(tvb, offset, pinfo, tree);
1900 offset=lustre_dissect_element_lov_ost_data_v1_l_ost_gen(tvb, offset, pinfo, tree);
1902 offset=lustre_dissect_element_lov_ost_data_v1_l_ost_idx(tvb, offset, pinfo, tree);
1905 proto_item_set_len(item, offset-old_offset);
1910 /* IDL: struct lov_mds_md_v1 { */
1911 /* IDL: uint32 lmm_magic; */
1912 /* IDL: uint32 lmm_pattern; */
1913 /* IDL: uint64 lmm_object_id; */
1914 /* IDL: uint64 lmm_object_seq; */
1915 /* IDL: uint32 lmm_stripe_size; */
1916 /* IDL: uint16 lmm_stripe_count; */
1917 /* IDL: uint16 lmm_layout_gen; */
1918 /* IDL: struct lov_ost_data_v1 { */
1919 /* IDL: } lmm_objects[0]; <-- en fait on en a lmm_stripe_count */
1923 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_)
1925 proto_item *item = NULL;
1926 proto_tree *tree = NULL;
1929 guint16 stripe_count;
1934 item = proto_tree_add_item(parent_tree, hf_index,
1935 tvb, offset, -1, TRUE);
1936 tree = proto_item_add_subtree(item, ett_lustre_lov_mds_md_v1);
1939 offset = dissect_uint32(tvb, offset, pinfo, tree,
1940 hf_lustre_lov_mds_md_v1_lmm_magic);
1941 offset = dissect_uint32(tvb, offset, pinfo, tree,
1942 hf_lustre_lov_mds_md_v1_lmm_pattern);
1943 offset = dissect_uint64(tvb, offset, pinfo, tree,
1944 hf_lustre_lov_mds_md_v1_lmm_object_id);
1945 offset = dissect_uint64(tvb, offset, pinfo, tree,
1946 hf_lustre_lov_mds_md_v1_lmm_object_seq);
1947 offset = dissect_uint32(tvb, offset, pinfo, tree,
1948 hf_lustre_lov_mds_md_v1_lmm_stripe_size);
1950 stripe_count = tvb_get_letohs(tvb, offset);
1951 offset = dissect_uint16(tvb, offset, pinfo, tree,
1952 hf_lustre_lov_mds_md_v1_lmm_stripe_count);
1953 offset = dissect_uint16(tvb, offset, pinfo, tree,
1954 hf_lustre_lov_mds_md_v1_lmm_layout_gen);
1956 for (i = 0; i < stripe_count; ++i)
1957 offset = lustre_dissect_struct_lov_ost_data_v1(tvb, offset,
1958 pinfo, tree, hf_lustre_lov_mds_md_v1_lmm_objects);
1960 proto_item_set_len(item, offset-old_offset);
1966 lustre_dissect_struct_lov_mds_md(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
1967 proto_tree *parent_tree _U_,
1968 int hf_index _U_, int buff_num _U_)
1972 if(LUSTRE_BUFFER_LEN(buff_num) == 0)
1975 magic=tvb_get_letohl(tvb, offset); /* TODO : replace this with a macro */
1978 offset=lustre_dissect_struct_lov_mds_md_v1(tvb,offset,pinfo,parent_tree,
1982 offset=lustre_dissect_element_data(tvb, offset, pinfo, parent_tree,
1983 hf_lustre_generic_data, buff_num);
1992 /* IDL: struct obd_statfs { */
1993 /* IDL: uint64 os_type; */
1994 /* IDL: uint64 os_blocks; */
1995 /* IDL: uint64 os_bfree; */
1996 /* IDL: uint64 os_bavail; */
1997 /* IDL: uint64 os_files; */
1998 /* IDL: uint64 os_ffree; */
1999 /* IDL: uint8 os_fsid[40]; */
2000 /* IDL: uint32 os_bsize; */
2001 /* IDL: uint32 os_namelen; */
2002 /* IDL: uint64 os_maxbytes; */
2003 /* IDL: uint32 os_state; */
2004 /* IDL: uint32 os_spare1; */
2005 /* IDL: uint32 os_spare2; */
2006 /* IDL: uint32 os_spare3; */
2007 /* IDL: uint32 os_spare4; */
2008 /* IDL: uint32 os_spare5; */
2009 /* IDL: uint32 os_spare6; */
2010 /* IDL: uint32 os_spare7; */
2011 /* IDL: uint32 os_spare8; */
2012 /* IDL: uint32 os_spare9; */
2016 lustre_dissect_element_obd_statfs_os_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2018 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_type);
2024 lustre_dissect_element_obd_statfs_os_blocks(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2026 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_blocks);
2032 lustre_dissect_element_obd_statfs_os_bfree(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2034 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_bfree);
2040 lustre_dissect_element_obd_statfs_os_bavail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2042 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_bavail);
2048 lustre_dissect_element_obd_statfs_os_files(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2050 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_files);
2056 lustre_dissect_element_obd_statfs_os_ffree(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2058 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_ffree);
2064 lustre_dissect_element_obd_statfs_os_fsid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2066 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_fsid);
2072 lustre_dissect_element_obd_statfs_os_fsid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2075 for (i = 0; i < 40; i++)
2076 offset=lustre_dissect_element_obd_statfs_os_fsid_(tvb, offset, pinfo, tree);
2084 lustre_dissect_element_obd_statfs_os_bsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2086 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_bsize);
2092 lustre_dissect_element_obd_statfs_os_namelen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2094 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_namelen);
2100 lustre_dissect_element_obd_statfs_os_maxbytes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2102 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_maxbytes);
2108 lustre_dissect_element_obd_statfs_os_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2110 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_state);
2116 lustre_dissect_element_obd_statfs_os_spare1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2118 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare1);
2124 lustre_dissect_element_obd_statfs_os_spare2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2126 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare2);
2132 lustre_dissect_element_obd_statfs_os_spare3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2134 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare3);
2140 lustre_dissect_element_obd_statfs_os_spare4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2142 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare4);
2148 lustre_dissect_element_obd_statfs_os_spare5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2150 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare5);
2156 lustre_dissect_element_obd_statfs_os_spare6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2158 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare6);
2164 lustre_dissect_element_obd_statfs_os_spare7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2166 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare7);
2172 lustre_dissect_element_obd_statfs_os_spare8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2174 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare8);
2180 lustre_dissect_element_obd_statfs_os_spare9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2182 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare9);
2188 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_)
2190 proto_item *item = NULL;
2191 proto_tree *tree = NULL;
2199 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2200 tree = proto_item_add_subtree(item, ett_lustre_obd_statfs);
2203 offset=lustre_dissect_element_obd_statfs_os_type(tvb, offset, pinfo, tree);
2205 offset=lustre_dissect_element_obd_statfs_os_blocks(tvb, offset, pinfo, tree);
2207 offset=lustre_dissect_element_obd_statfs_os_bfree(tvb, offset, pinfo, tree);
2209 offset=lustre_dissect_element_obd_statfs_os_bavail(tvb, offset, pinfo, tree);
2211 offset=lustre_dissect_element_obd_statfs_os_files(tvb, offset, pinfo, tree);
2213 offset=lustre_dissect_element_obd_statfs_os_ffree(tvb, offset, pinfo, tree);
2215 offset=lustre_dissect_element_obd_statfs_os_fsid(tvb, offset, pinfo, tree);
2217 offset=lustre_dissect_element_obd_statfs_os_bsize(tvb, offset, pinfo, tree);
2219 offset=lustre_dissect_element_obd_statfs_os_namelen(tvb, offset, pinfo, tree);
2221 offset=lustre_dissect_element_obd_statfs_os_maxbytes(tvb, offset, pinfo, tree);
2223 offset=lustre_dissect_element_obd_statfs_os_state(tvb, offset, pinfo, tree);
2225 offset=lustre_dissect_element_obd_statfs_os_spare1(tvb, offset, pinfo, tree);
2227 offset=lustre_dissect_element_obd_statfs_os_spare2(tvb, offset, pinfo, tree);
2229 offset=lustre_dissect_element_obd_statfs_os_spare3(tvb, offset, pinfo, tree);
2231 offset=lustre_dissect_element_obd_statfs_os_spare4(tvb, offset, pinfo, tree);
2233 offset=lustre_dissect_element_obd_statfs_os_spare5(tvb, offset, pinfo, tree);
2235 offset=lustre_dissect_element_obd_statfs_os_spare6(tvb, offset, pinfo, tree);
2237 offset=lustre_dissect_element_obd_statfs_os_spare7(tvb, offset, pinfo, tree);
2239 offset=lustre_dissect_element_obd_statfs_os_spare8(tvb, offset, pinfo, tree);
2241 offset=lustre_dissect_element_obd_statfs_os_spare9(tvb, offset, pinfo, tree);
2244 proto_item_set_len(item, offset-old_offset);
2249 /* IDL: struct obd_ioobj { */
2250 /* IDL: uint64 ioo_id; */
2251 /* IDL: uint64 ioo_seq; */
2252 /* IDL: uint32 ioo_max_brw; */
2253 /* IDL: uint32 ioo_bufcnt; */
2257 lustre_dissect_element_obd_ioobj_ioo_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2259 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj_ioo_id);
2265 lustre_dissect_element_obd_ioobj_ioo_seq(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2267 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj_ioo_seq);
2273 lustre_dissect_element_obd_ioobj_ioo_max_brw(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2275 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj_ioo_max_brw);
2281 lustre_dissect_element_obd_ioobj_ioo_bufcnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2283 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj_ioo_bufcnt);
2289 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_)
2291 proto_item *item = NULL;
2292 proto_tree *tree = NULL;
2300 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2301 tree = proto_item_add_subtree(item, ett_lustre_obd_ioobj);
2304 offset=lustre_dissect_element_obd_ioobj_ioo_id(tvb, offset, pinfo, tree);
2306 offset=lustre_dissect_element_obd_ioobj_ioo_seq(tvb, offset, pinfo, tree);
2308 offset=lustre_dissect_element_obd_ioobj_ioo_max_brw(tvb, offset, pinfo, tree);
2310 offset=lustre_dissect_element_obd_ioobj_ioo_bufcnt(tvb, offset, pinfo, tree);
2313 proto_item_set_len(item, offset-old_offset);
2318 /* IDL: struct niobuf_remote { */
2319 /* IDL: uint64 offset; */
2320 /* IDL: uint32 len; */
2321 /* IDL: uint32 flags; */
2325 lustre_dissect_element_niobuf_remote_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2327 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_niobuf_remote_offset);
2333 lustre_dissect_element_niobuf_remote_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2335 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_niobuf_remote_len);
2341 lustre_dissect_element_niobuf_remote_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2343 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_niobuf_remote_flags);
2349 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_)
2351 proto_item *item = NULL;
2352 proto_tree *tree = NULL;
2360 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2361 tree = proto_item_add_subtree(item, ett_lustre_niobuf_remote);
2364 offset=lustre_dissect_element_niobuf_remote_offset(tvb, offset, pinfo, tree);
2366 offset=lustre_dissect_element_niobuf_remote_len(tvb, offset, pinfo, tree);
2368 offset=lustre_dissect_element_niobuf_remote_flags(tvb, offset, pinfo, tree);
2371 proto_item_set_len(item, offset-old_offset);
2376 /* IDL: struct ost_lvb { */
2377 /* IDL: uint64 lvb_size; */
2378 /* IDL: uint64 lvb_mtime; */
2379 /* IDL: uint64 lvb_atime; */
2380 /* IDL: uint64 lvb_ctime; */
2381 /* IDL: uint64 lvb_blocks; */
2382 /* v1 of this type ends here */
2383 /* uint32 lvb_mtime_ns; */
2384 /* uint32 lvb_atime_ns; */
2385 /* uint32 lvb_ctime_ns; */
2386 /* uint32 lvb_padding; */
2390 lustre_dissect_element_ost_lvb_lvb_time(tvbuff_t *tvb _U_, int offset _U_,
2391 packet_info *pinfo _U_,
2392 proto_tree *tree _U_,
2393 int hf_index _U_, int ns_offset _U_)
2397 ns.secs = tvb_get_letoh64(tvb, offset);
2399 ns.nsecs = tvb_get_letohl(tvb, offset+ns_offset);
2400 proto_tree_add_time(tree, hf_index, tvb, offset, 8, &ns);
2406 lustre_dissect_struct_ost_lvb(tvbuff_t *tvb _U_, int offset _U_,
2407 packet_info *pinfo _U_,
2408 proto_tree *parent_tree _U_,
2409 int hf_index _U_, int buff_num _U_)
2411 proto_item *item = NULL;
2412 proto_tree *tree = NULL;
2416 buff_len = LUSTRE_BUFFER_LEN(buff_num);
2424 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2425 tree = proto_item_add_subtree(item, ett_lustre_ost_lvb);
2428 /* v1 format size is 40
2429 * v2 format size is 56 w/ ns for times
2432 offset = dissect_uint64(tvb, offset, pinfo, tree,
2433 hf_lustre_ost_lvb_lvb_size);
2435 offset = lustre_dissect_element_ost_lvb_lvb_time(tvb, offset,
2436 pinfo, tree, hf_lustre_ost_lvb_lvb_mtime,
2437 (buff_len >= 56) ?32 :0);
2439 offset = lustre_dissect_element_ost_lvb_lvb_time(tvb, offset,
2440 pinfo, tree, hf_lustre_ost_lvb_lvb_atime,
2441 (buff_len >= 56) ?28 :0);
2443 offset = lustre_dissect_element_ost_lvb_lvb_time(tvb, offset,
2444 pinfo, tree, hf_lustre_ost_lvb_lvb_ctime,
2445 (buff_len >= 56) ?24 :0);
2447 offset = dissect_uint64(tvb, offset, pinfo, tree,
2448 hf_lustre_ost_lvb_lvb_blocks);
2450 /* post-v1 format */
2451 if (buff_len >= 56) {
2452 offset = dissect_uint32(tvb, offset, pinfo, tree,
2453 hf_lustre_ost_lvb_lvb_mtime_ns);
2454 offset = dissect_uint32(tvb, offset, pinfo, tree,
2455 hf_lustre_ost_lvb_lvb_atime_ns);
2456 offset = dissect_uint32(tvb, offset, pinfo, tree,
2457 hf_lustre_ost_lvb_lvb_ctime_ns);
2458 offset = dissect_uint32(tvb, offset, pinfo, tree,
2459 hf_lustre_ost_lvb_lvb_padding);
2461 proto_item_set_len(item, offset-old_offset);
2467 /* IDL: struct ll_fid { */
2468 /* IDL: uint64 id; */
2469 /* IDL: uint32 generation; */
2470 /* IDL: uint32 f_type; */
2474 lustre_dissect_element_ll_fid_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2476 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ll_fid_id);
2482 lustre_dissect_element_ll_fid_generation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2484 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ll_fid_generation);
2490 lustre_dissect_element_ll_fid_f_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2492 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ll_fid_f_type);
2498 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_)
2500 proto_item *item = NULL;
2501 proto_tree *tree = NULL;
2507 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2508 tree = proto_item_add_subtree(item, ett_lustre_ll_fid);
2511 offset=lustre_dissect_element_ll_fid_id(tvb, offset, pinfo, tree);
2513 offset=lustre_dissect_element_ll_fid_generation(tvb, offset, pinfo, tree);
2515 offset=lustre_dissect_element_ll_fid_f_type(tvb, offset, pinfo, tree);
2518 proto_item_set_len(item, offset-old_offset);
2523 /* IDL: struct obd_dqinfo { */
2524 /* IDL: uint64 dqi_bgrace; */
2525 /* IDL: uint64 dqi_igrace; */
2526 /* IDL: uint32 dqi_flags; */
2527 /* IDL: uint32 dqi_valid; */
2531 lustre_dissect_element_obd_dqinfo_dqi_bgrace(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2533 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqinfo_dqi_bgrace);
2539 lustre_dissect_element_obd_dqinfo_dqi_igrace(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2541 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqinfo_dqi_igrace);
2547 lustre_dissect_element_obd_dqinfo_dqi_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2549 offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_dqinfo_dqi_flags);
2555 lustre_dissect_element_obd_dqinfo_dqi_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2557 offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_dqinfo_dqi_valid);
2563 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_)
2565 proto_item *item = NULL;
2566 proto_tree *tree = NULL;
2571 old_offset = offset;
2574 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2575 tree = proto_item_add_subtree(item, ett_lustre_obd_dqinfo);
2578 offset = lustre_dissect_element_obd_dqinfo_dqi_bgrace(tvb, offset, pinfo, tree);
2580 offset = lustre_dissect_element_obd_dqinfo_dqi_igrace(tvb, offset, pinfo, tree);
2582 offset = lustre_dissect_element_obd_dqinfo_dqi_flags(tvb, offset, pinfo, tree);
2584 offset = lustre_dissect_element_obd_dqinfo_dqi_valid(tvb, offset, pinfo, tree);
2587 proto_item_set_len(item, offset-old_offset);
2592 /* IDL: struct obd_dqblk { */
2593 /* IDL: uint64 dqb_bhardlimit; */
2594 /* IDL: uint64 dqb_bsoftlimit; */
2595 /* IDL: uint64 dqb_curspace; */
2596 /* IDL: uint64 dqb_ihardlimit; */
2597 /* IDL: uint64 dqb_isoftlimit; */
2598 /* IDL: uint64 dqb_curinodes; */
2599 /* IDL: uint64 dqb_btime; */
2600 /* IDL: uint64 dqb_itime; */
2601 /* IDL: uint32 dqb_valid; */
2602 /* IDL: uint32 padding; */
2606 lustre_dissect_element_obd_dqblk_dqb_bhardlimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2608 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_bhardlimit);
2614 lustre_dissect_element_obd_dqblk_dqb_bsoftlimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2616 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_bsoftlimit);
2622 lustre_dissect_element_obd_dqblk_dqb_curspace(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2624 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_curspace);
2630 lustre_dissect_element_obd_dqblk_dqb_ihardlimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2632 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_ihardlimit);
2638 lustre_dissect_element_obd_dqblk_dqb_isoftlimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2640 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_isoftlimit);
2646 lustre_dissect_element_obd_dqblk_dqb_curinodes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2648 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_curinodes);
2654 lustre_dissect_element_obd_dqblk_dqb_btime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2659 ns.secs = tvb_get_letohl(tvb,offset);
2661 proto_tree_add_time(tree, hf_lustre_obd_dqblk_dqb_btime, tvb, offset, 8, &ns );
2667 lustre_dissect_element_obd_dqblk_dqb_itime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2671 ns.secs = tvb_get_letohl(tvb,offset);
2673 proto_tree_add_time(tree, hf_lustre_obd_dqblk_dqb_itime, tvb, offset, 8, &ns );
2680 lustre_dissect_element_obd_dqblk_dqb_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2682 offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_valid);
2688 lustre_dissect_element_obd_dqblk_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2690 offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_padding);
2696 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_)
2698 proto_item *item = NULL;
2699 proto_tree *tree = NULL;
2704 old_offset = offset;
2707 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2708 tree = proto_item_add_subtree(item, ett_lustre_obd_dqblk);
2711 offset = lustre_dissect_element_obd_dqblk_dqb_bhardlimit(tvb, offset, pinfo, tree);
2713 offset = lustre_dissect_element_obd_dqblk_dqb_bsoftlimit(tvb, offset, pinfo, tree);
2715 offset = lustre_dissect_element_obd_dqblk_dqb_curspace(tvb, offset, pinfo, tree);
2717 offset = lustre_dissect_element_obd_dqblk_dqb_ihardlimit(tvb, offset, pinfo, tree);
2719 offset = lustre_dissect_element_obd_dqblk_dqb_isoftlimit(tvb, offset, pinfo, tree);
2721 offset = lustre_dissect_element_obd_dqblk_dqb_curinodes(tvb, offset, pinfo, tree);
2723 offset = lustre_dissect_element_obd_dqblk_dqb_btime(tvb, offset, pinfo, tree);
2725 offset = lustre_dissect_element_obd_dqblk_dqb_itime(tvb, offset, pinfo, tree);
2727 offset = lustre_dissect_element_obd_dqblk_dqb_valid(tvb, offset, pinfo, tree);
2729 offset = lustre_dissect_element_obd_dqblk_padding(tvb, offset, pinfo, tree);
2732 proto_item_set_len(item, offset-old_offset);
2738 /* IDL: struct obd_quotactl { */
2739 /* IDL: uint32 qc_cmd; */
2740 /* IDL: uint32 qc_type; */
2741 /* IDL: uint32 qc_id; */
2742 /* IDL: uint32 qc_stat; */
2743 /* IDL: struct obd_dqinfo { */
2744 /* IDL: } qc_dqinfo; */
2745 /* IDL: struct obd_dqblk { */
2746 /* IDL: } qc_dqblk; */
2750 lustre_dissect_element_obd_quotactl_qc_cmd(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2752 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl_qc_cmd);
2758 lustre_dissect_element_obd_quotactl_qc_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2760 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl_qc_type);
2766 lustre_dissect_element_obd_quotactl_qc_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2768 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl_qc_id);
2774 lustre_dissect_element_obd_quotactl_qc_stat(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2776 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl_qc_stat);
2784 lustre_dissect_element_obd_quotactl_qc_dqblk(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2786 offset=lustre_dissect_struct_obd_dqblk(tvb,offset,pinfo,tree,hf_lustre_obd_quotactl_qc_dqblk);
2791 lustre_dissect_element_obd_quotactl_qc_dqinfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2793 offset=lustre_dissect_struct_obd_dqinfo(tvb,offset,pinfo,tree,hf_lustre_obd_quotactl_qc_dqinfo);
2798 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_)
2800 proto_item *item = NULL;
2801 proto_tree *tree = NULL;
2807 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2808 tree = proto_item_add_subtree(item, ett_lustre_obd_quotactl);
2811 offset=lustre_dissect_element_obd_quotactl_qc_cmd(tvb, offset, pinfo, tree);
2813 offset=lustre_dissect_element_obd_quotactl_qc_type(tvb, offset, pinfo, tree);
2815 offset=lustre_dissect_element_obd_quotactl_qc_id(tvb, offset, pinfo, tree);
2817 offset=lustre_dissect_element_obd_quotactl_qc_stat(tvb, offset, pinfo, tree);
2819 offset=lustre_dissect_element_obd_quotactl_qc_dqinfo(tvb, offset, pinfo, tree);
2821 offset=lustre_dissect_element_obd_quotactl_qc_dqblk(tvb, offset, pinfo, tree);
2824 proto_item_set_len(item, offset-old_offset);
2830 /* IDL: struct quota_adjust_qunit { */
2831 /* IDL: uint32 qaq_flags; */
2832 /* IDL: uint32 qaq_id; */
2833 /* IDL: uint64 qaq_bunit_sz; */
2834 /* IDL: uint64 qaq_iunit_sz; */
2835 /* IDL: uint64 padding1; */
2839 lustre_dissect_element_quota_adjust_qunit_qaq_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2841 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_qaq_flags);
2847 lustre_dissect_element_quota_adjust_qunit_qaq_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2849 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_qaq_id);
2855 lustre_dissect_element_quota_adjust_qunit_qaq_bunit_sz(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2857 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_qaq_bunit_sz);
2863 lustre_dissect_element_quota_adjust_qunit_qaq_iunit_sz(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2865 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_qaq_iunit_sz);
2871 lustre_dissect_element_quota_adjust_qunit_padding1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2873 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_padding1);
2879 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_)
2881 proto_item *item = NULL;
2882 proto_tree *tree = NULL;
2890 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2891 tree = proto_item_add_subtree(item, ett_lustre_quota_adjust_qunit);
2894 offset=lustre_dissect_element_quota_adjust_qunit_qaq_flags(tvb, offset, pinfo, tree);
2896 offset=lustre_dissect_element_quota_adjust_qunit_qaq_id(tvb, offset, pinfo, tree);
2898 offset=lustre_dissect_element_quota_adjust_qunit_qaq_bunit_sz(tvb, offset, pinfo, tree);
2900 offset=lustre_dissect_element_quota_adjust_qunit_qaq_iunit_sz(tvb, offset, pinfo, tree);
2902 offset=lustre_dissect_element_quota_adjust_qunit_padding1(tvb, offset, pinfo, tree);
2905 proto_item_set_len(item, offset-old_offset);
2910 /* IDL: struct mdt_body { */
2911 /* IDL: struct lu_fid { */
2913 /* IDL: struct lu_fid { */
2915 /* IDL: struct lustre_handle { */
2916 /* IDL: } handle; */
2917 /* IDL: uint64 valid; */
2918 /* IDL: uint64 size; */
2919 /* IDL: uint64 mtime; */
2920 /* IDL: uint64 atime; */
2921 /* IDL: uint64 ctime; */
2922 /* IDL: uint64 blocks; */
2923 /* IDL: uint64 ioepoch; */
2924 /* IDL: uint64 ino; */
2925 /* IDL: uint32 fsuid; */
2926 /* IDL: uint32 fsgid; */
2927 /* IDL: uint32 capability; */
2928 /* IDL: uint32 mode; */
2929 /* IDL: uint32 uid; */
2930 /* IDL: uint32 gid; */
2931 /* IDL: uint32 flags; */
2932 /* IDL: uint32 rdev; */
2933 /* IDL: uint32 nlink; */
2934 /* IDL: uint32 generation; */
2935 /* IDL: uint32 suppgid; */
2936 /* IDL: uint32 eadatasize; */
2937 /* IDL: uint32 aclsize; */
2938 /* IDL: uint32 max_mdsize; */
2939 /* IDL: uint32 max_cookiesize; */
2940 /* IDL: uint32 uid_h; */
2941 /* IDL: uint32 gid_h; */
2942 /* IDL: uint32 padding_5; */
2943 /* IDL: uint64 padding_6; */
2944 /* IDL: uint64 padding_7; */
2945 /* IDL: uint64 padding_8; */
2946 /* IDL: uint64 padding_9; */
2947 /* IDL: uint64 padding_10; */
2951 lustre_dissect_element_mdt_body_fid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2953 offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_body_fid1);
2958 lustre_dissect_element_mdt_body_fid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2960 offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_body_fid2);
2965 lustre_dissect_element_mdt_body_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2967 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_mdt_body_handle);
2973 lustre_dissect_element_mdt_body_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2975 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_body_valid);
2981 lustre_dissect_element_mdt_body_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2983 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_body_size);
2989 lustre_dissect_element_mdt_body_mtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2993 ns.secs = tvb_get_letohl(tvb,offset);
2995 proto_tree_add_time(tree, hf_lustre_mdt_body_mtime, tvb, offset, 8, &ns );
3001 lustre_dissect_element_mdt_body_atime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3005 ns.secs = tvb_get_letohl(tvb,offset);
3007 proto_tree_add_time(tree, hf_lustre_mdt_body_atime, tvb, offset, 8, &ns );
3014 lustre_dissect_element_mdt_body_ctime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3018 ns.secs = tvb_get_letohl(tvb,offset);
3020 proto_tree_add_time(tree, hf_lustre_mdt_body_ctime, tvb, offset, 8, &ns );
3026 lustre_dissect_element_mdt_body_blocks(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3028 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_body_blocks);
3034 lustre_dissect_element_mdt_body_ioepoch(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3036 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_body_ioepoch);
3042 lustre_dissect_element_mdt_body_ino(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3044 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_body_ino);
3050 lustre_dissect_element_mdt_body_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3052 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_fsuid);
3058 lustre_dissect_element_mdt_body_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3060 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_fsgid);
3066 lustre_dissect_element_mdt_body_capability(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3068 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_capability);
3074 lustre_dissect_element_mdt_body_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3076 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_mode);
3082 lustre_dissect_element_mdt_body_uid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3084 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_uid);
3090 lustre_dissect_element_mdt_body_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3092 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_gid);
3098 lustre_dissect_element_mdt_body_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3100 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_flags);
3106 lustre_dissect_element_mdt_body_rdev(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3108 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_rdev);
3114 lustre_dissect_element_mdt_body_nlink(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3116 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_nlink);
3122 lustre_dissect_element_mdt_body_generation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3124 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_generation);
3130 lustre_dissect_element_mdt_body_suppgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3132 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_suppgid);
3138 lustre_dissect_element_mdt_body_eadatasize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3140 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_eadatasize);
3146 lustre_dissect_element_mdt_body_aclsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3148 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_aclsize);
3154 lustre_dissect_element_mdt_body_max_mdsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3156 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_max_mdsize);
3162 lustre_dissect_element_mdt_body_max_cookiesize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3164 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_max_cookiesize);
3170 lustre_dissect_element_mdt_body_uid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3172 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_uid_h);
3178 lustre_dissect_element_mdt_body_gid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3180 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_gid_h);
3186 lustre_dissect_element_mdt_body_padding_5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3188 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_body_padding_5);
3194 lustre_dissect_element_mdt_body_padding_6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3196 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_body_padding_6);
3202 lustre_dissect_element_mdt_body_padding_7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3204 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_body_padding_7);
3210 lustre_dissect_element_mdt_body_padding_8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3212 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_body_padding_8);
3218 lustre_dissect_element_mdt_body_padding_9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3220 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_body_padding_9);
3226 lustre_dissect_element_mdt_body_padding_10(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3228 offset= dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_body_padding_10);
3234 lustre_dissect_struct_mdt_body(tvbuff_t *tvb _U_, int offset _U_,
3235 packet_info *pinfo _U_,
3236 proto_tree *parent_tree _U_,
3239 proto_item *item = NULL;
3240 proto_tree *tree = NULL;
3247 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
3248 tree = proto_item_add_subtree(item, ett_lustre_mdt_body);
3251 offset=lustre_dissect_element_mdt_body_fid1(tvb, offset, pinfo, tree);
3253 offset=lustre_dissect_element_mdt_body_fid2(tvb, offset, pinfo, tree);
3255 offset=lustre_dissect_element_mdt_body_handle(tvb, offset, pinfo, tree);
3257 offset=lustre_dissect_element_mdt_body_valid(tvb, offset, pinfo, tree);
3259 offset=lustre_dissect_element_mdt_body_size(tvb, offset, pinfo, tree);
3261 offset=lustre_dissect_element_mdt_body_mtime(tvb, offset, pinfo, tree);
3263 offset=lustre_dissect_element_mdt_body_atime(tvb, offset, pinfo, tree);
3265 offset=lustre_dissect_element_mdt_body_ctime(tvb, offset, pinfo, tree);
3267 offset=lustre_dissect_element_mdt_body_blocks(tvb, offset, pinfo, tree);
3269 offset=lustre_dissect_element_mdt_body_ioepoch(tvb, offset, pinfo, tree);
3271 offset=lustre_dissect_element_mdt_body_ino(tvb, offset, pinfo, tree);
3273 offset=lustre_dissect_element_mdt_body_fsuid(tvb, offset, pinfo, tree);
3275 offset=lustre_dissect_element_mdt_body_fsgid(tvb, offset, pinfo, tree);
3277 offset=lustre_dissect_element_mdt_body_capability(tvb, offset, pinfo, tree);
3279 offset=lustre_dissect_element_mdt_body_mode(tvb, offset, pinfo, tree);
3281 offset=lustre_dissect_element_mdt_body_uid(tvb, offset, pinfo, tree);
3283 offset=lustre_dissect_element_mdt_body_gid(tvb, offset, pinfo, tree);
3285 offset=lustre_dissect_element_mdt_body_flags(tvb, offset, pinfo, tree);
3287 offset=lustre_dissect_element_mdt_body_rdev(tvb, offset, pinfo, tree);
3289 offset=lustre_dissect_element_mdt_body_nlink(tvb, offset, pinfo, tree);
3291 offset=lustre_dissect_element_mdt_body_generation(tvb, offset, pinfo, tree);
3293 offset=lustre_dissect_element_mdt_body_suppgid(tvb, offset, pinfo, tree);
3295 offset=lustre_dissect_element_mdt_body_eadatasize(tvb, offset, pinfo, tree);
3297 offset=lustre_dissect_element_mdt_body_aclsize(tvb, offset, pinfo, tree);
3299 offset=lustre_dissect_element_mdt_body_max_mdsize(tvb, offset, pinfo, tree);
3301 offset=lustre_dissect_element_mdt_body_max_cookiesize(tvb, offset, pinfo, tree);
3303 offset=lustre_dissect_element_mdt_body_uid_h(tvb, offset, pinfo, tree);
3305 offset=lustre_dissect_element_mdt_body_gid_h(tvb, offset, pinfo, tree);
3307 offset=lustre_dissect_element_mdt_body_padding_5(tvb, offset, pinfo, tree);
3309 offset=lustre_dissect_element_mdt_body_padding_6(tvb, offset, pinfo, tree);
3311 offset=lustre_dissect_element_mdt_body_padding_7(tvb, offset, pinfo, tree);
3313 offset=lustre_dissect_element_mdt_body_padding_8(tvb, offset, pinfo, tree);
3315 offset=lustre_dissect_element_mdt_body_padding_9(tvb, offset, pinfo, tree);
3317 offset=lustre_dissect_element_mdt_body_padding_10(tvb, offset, pinfo, tree);
3320 proto_item_set_len(item, offset-old_offset);
3325 /* I don't find where this struct appear on wire.. need to search mdc_setattr_pack() */
3326 /* IDL: struct mdt_rec_setattr { */
3327 /* IDL: uint32 sa_opcode; */
3328 /* IDL: uint32 sa_cap; */
3329 /* IDL: uint32 sa_fsuid; */
3330 /* IDL: uint32 sa_fsuid_h; */
3331 /* IDL: uint32 sa_fsgid; */
3332 /* IDL: uint32 sa_fsgid_h; */
3333 /* IDL: uint32 sa_suppgid; */
3334 /* IDL: uint32 sa_suppgid_h; */
3335 /* IDL: uint32 sa_padding_1; */
3336 /* IDL: uint32 sa_padding_1_h; */
3337 /* IDL: struct lu_fid { */
3338 /* IDL: } sa_fid; */
3339 /* IDL: uint64 sa_valid; */
3340 /* IDL: uint32 sa_uid; */
3341 /* IDL: uint32 sa_gid; */
3342 /* IDL: uint64 sa_size; */
3343 /* IDL: uint64 sa_blocks; */
3344 /* IDL: uint64 sa_mtime; */
3345 /* IDL: uint64 sa_atime; */
3346 /* IDL: uint64 sa_ctime; */
3347 /* IDL: uint32 sa_attr_flags; */
3348 /* IDL: uint32 sa_mode; */
3349 /* IDL: uint32 sa_padding_2; */
3350 /* IDL: uint32 sa_projid; */
3351 /* IDL: uint32 sa_padding_4; */
3352 /* IDL: uint32 sa_padding_5; */
3356 lustre_dissect_element_mdt_rec_setattr_sa_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3358 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_opcode);
3364 lustre_dissect_element_mdt_rec_setattr_sa_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3366 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_cap);
3372 lustre_dissect_element_mdt_rec_setattr_sa_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3374 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_fsuid);
3380 lustre_dissect_element_mdt_rec_setattr_sa_fsuid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3382 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_fsuid_h);
3388 lustre_dissect_element_mdt_rec_setattr_sa_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3390 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_fsgid);
3396 lustre_dissect_element_mdt_rec_setattr_sa_fsgid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3398 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_fsgid_h);
3404 lustre_dissect_element_mdt_rec_setattr_sa_suppgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3406 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_suppgid);
3412 lustre_dissect_element_mdt_rec_setattr_sa_suppgid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3414 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_suppgid_h);
3420 lustre_dissect_element_mdt_rec_setattr_sa_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3422 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_padding_1);
3428 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_)
3430 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_padding_1_h);
3436 lustre_dissect_element_mdt_rec_setattr_sa_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3438 offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_rec_setattr_sa_fid);
3444 lustre_dissect_element_mdt_rec_setattr_sa_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3446 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_valid);
3452 lustre_dissect_element_mdt_rec_setattr_sa_uid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3454 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_uid);
3460 lustre_dissect_element_mdt_rec_setattr_sa_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3462 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_gid);
3468 lustre_dissect_element_mdt_rec_setattr_sa_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3470 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_size);
3476 lustre_dissect_element_mdt_rec_setattr_sa_blocks(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3478 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_blocks);
3484 lustre_dissect_element_mdt_rec_setattr_sa_mtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3489 ns.secs = tvb_get_letohl(tvb,offset);
3491 proto_tree_add_time(tree, hf_lustre_mdt_rec_setattr_sa_mtime, tvb, offset, 8, &ns );
3497 lustre_dissect_element_mdt_rec_setattr_sa_atime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3501 ns.secs = tvb_get_letohl(tvb,offset);
3503 proto_tree_add_time(tree, hf_lustre_mdt_rec_setattr_sa_atime, tvb, offset, 8, &ns );
3509 lustre_dissect_element_mdt_rec_setattr_sa_ctime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3513 ns.secs = tvb_get_letohl(tvb,offset);
3515 proto_tree_add_time(tree, hf_lustre_mdt_rec_setattr_sa_ctime, tvb, offset, 8, &ns );
3521 lustre_dissect_element_mdt_rec_setattr_sa_attr_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3523 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_attr_flags);
3529 lustre_dissect_element_mdt_rec_setattr_sa_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3531 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_mode);
3537 lustre_dissect_element_mdt_rec_setattr_sa_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3539 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_padding_2);
3545 lustre_dissect_element_mdt_rec_setattr_sa_projid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3547 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_projid);
3553 lustre_dissect_element_mdt_rec_setattr_sa_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3555 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_padding_4);
3561 lustre_dissect_element_mdt_rec_setattr_sa_padding_5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3563 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr_sa_padding_5);
3569 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_)
3571 proto_item *item = NULL;
3572 proto_tree *tree = NULL;
3581 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
3582 tree = proto_item_add_subtree(item, ett_lustre_mdt_rec_setattr);
3584 sa_opcode=tvb_get_letohl(tvb,offset);
3585 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(sa_opcode, lustre_mds_reint_t_vals, "Unknown sa_opc"));
3587 offset=lustre_dissect_element_mdt_rec_setattr_sa_opcode(tvb, offset, pinfo, tree);
3589 offset=lustre_dissect_element_mdt_rec_setattr_sa_cap(tvb, offset, pinfo, tree);
3591 offset=lustre_dissect_element_mdt_rec_setattr_sa_fsuid(tvb, offset, pinfo, tree);
3593 offset=lustre_dissect_element_mdt_rec_setattr_sa_fsuid_h(tvb, offset, pinfo, tree);
3595 offset=lustre_dissect_element_mdt_rec_setattr_sa_fsgid(tvb, offset, pinfo, tree);
3597 offset=lustre_dissect_element_mdt_rec_setattr_sa_fsgid_h(tvb, offset, pinfo, tree);
3599 offset=lustre_dissect_element_mdt_rec_setattr_sa_suppgid(tvb, offset, pinfo, tree);
3601 offset=lustre_dissect_element_mdt_rec_setattr_sa_suppgid_h(tvb, offset, pinfo, tree);
3603 offset=lustre_dissect_element_mdt_rec_setattr_sa_padding_1(tvb, offset, pinfo, tree);
3605 offset=lustre_dissect_element_mdt_rec_setattr_sa_padding_1_h(tvb, offset, pinfo, tree);
3607 offset=lustre_dissect_element_mdt_rec_setattr_sa_fid(tvb, offset, pinfo, tree);
3609 offset=lustre_dissect_element_mdt_rec_setattr_sa_valid(tvb, offset, pinfo, tree);
3611 offset=lustre_dissect_element_mdt_rec_setattr_sa_uid(tvb, offset, pinfo, tree);
3613 offset=lustre_dissect_element_mdt_rec_setattr_sa_gid(tvb, offset, pinfo, tree);
3615 offset=lustre_dissect_element_mdt_rec_setattr_sa_size(tvb, offset, pinfo, tree);
3617 offset=lustre_dissect_element_mdt_rec_setattr_sa_blocks(tvb, offset, pinfo, tree);
3619 offset=lustre_dissect_element_mdt_rec_setattr_sa_mtime(tvb, offset, pinfo, tree);
3621 offset=lustre_dissect_element_mdt_rec_setattr_sa_atime(tvb, offset, pinfo, tree);
3623 offset=lustre_dissect_element_mdt_rec_setattr_sa_ctime(tvb, offset, pinfo, tree);
3625 offset=lustre_dissect_element_mdt_rec_setattr_sa_attr_flags(tvb, offset, pinfo, tree);
3627 offset=lustre_dissect_element_mdt_rec_setattr_sa_mode(tvb, offset, pinfo, tree);
3629 offset=lustre_dissect_element_mdt_rec_setattr_sa_padding_2(tvb, offset, pinfo, tree);
3631 offset=lustre_dissect_element_mdt_rec_setattr_sa_projid(tvb, offset, pinfo, tree);
3633 offset=lustre_dissect_element_mdt_rec_setattr_sa_padding_4(tvb, offset, pinfo, tree);
3635 offset=lustre_dissect_element_mdt_rec_setattr_sa_padding_5(tvb, offset, pinfo, tree);
3638 proto_item_set_len(item, offset-old_offset);
3643 /* IDL: struct mdt_rec_create { */
3644 /* IDL: uint32 cr_opcode; */
3645 /* IDL: uint32 cr_cap; */
3646 /* IDL: uint32 cr_fsuid; */
3647 /* IDL: uint32 cr_fsuid_h; */
3648 /* IDL: uint32 cr_fsgid; */
3649 /* IDL: uint32 cr_fsgid_h; */
3650 /* IDL: uint32 cr_suppgid1; */
3651 /* IDL: uint32 cr_suppgid1_h; */
3652 /* IDL: uint32 cr_suppgid2; */
3653 /* IDL: uint32 cr_suppgid2_h; */
3654 /* IDL: struct lu_fid { */
3655 /* IDL: } cr_fid1; */
3656 /* IDL: struct lu_fid { */
3657 /* IDL: } cr_fid2; */
3658 /* IDL: struct lustre_handle { */
3659 /* IDL: } cr_old_handle; */
3660 /* IDL: uint64 cr_time; */
3661 /* IDL: uint64 cr_rdev; */
3662 /* IDL: uint64 cr_ioepoch; */
3663 /* IDL: uint64 cr_padding_1; */
3664 /* IDL: uint32 cr_mode; */
3665 /* IDL: uint32 cr_bias; */
3666 /* IDL: uint32 cr_flags_l; */
3667 /* IDL: uint32 cr_flags_h; */
3668 /* IDL: uint32 cr_umask; */
3669 /* IDL: uint32 cr_padding_4; */
3673 lustre_dissect_element_mdt_rec_create_cr_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3675 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_opcode);
3681 lustre_dissect_element_mdt_rec_create_cr_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3683 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_cap);
3689 lustre_dissect_element_mdt_rec_create_cr_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3691 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_fsuid);
3697 lustre_dissect_element_mdt_rec_create_cr_fsuid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3699 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_fsuid_h);
3705 lustre_dissect_element_mdt_rec_create_cr_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3707 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_fsgid);
3713 lustre_dissect_element_mdt_rec_create_cr_fsgid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3715 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_fsgid_h);
3721 lustre_dissect_element_mdt_rec_create_cr_suppgid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3723 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_suppgid1);
3729 lustre_dissect_element_mdt_rec_create_cr_suppgid1_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3731 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_suppgid1_h);
3737 lustre_dissect_element_mdt_rec_create_cr_suppgid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3739 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_suppgid2);
3745 lustre_dissect_element_mdt_rec_create_cr_suppgid2_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3747 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_suppgid2_h);
3753 lustre_dissect_element_mdt_rec_create_cr_fid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3755 offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_rec_create_cr_fid1);
3760 lustre_dissect_element_mdt_rec_create_cr_fid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3762 offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_rec_create_cr_fid2);
3767 lustre_dissect_element_mdt_rec_create_cr_old_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3769 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_mdt_rec_create_cr_old_handle);
3774 lustre_dissect_element_mdt_rec_create_cr_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3778 ns.secs = tvb_get_letohl(tvb,offset);
3780 proto_tree_add_time(tree, hf_lustre_mdt_rec_create_cr_time, tvb, offset, 8, &ns );
3787 lustre_dissect_element_mdt_rec_create_cr_rdev(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3789 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_rdev);
3795 lustre_dissect_element_mdt_rec_create_cr_ioepoch(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3797 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_ioepoch);
3803 lustre_dissect_element_mdt_rec_create_cr_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3805 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_padding_1);
3811 lustre_dissect_element_mdt_rec_create_cr_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3813 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_mode);
3819 lustre_dissect_element_mdt_rec_create_cr_bias(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3821 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_bias);
3827 lustre_dissect_element_mdt_rec_create_cr_flags_l(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3829 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_flags_l);
3835 lustre_dissect_element_mdt_rec_create_cr_flags_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3837 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_flags_h);
3843 lustre_dissect_element_mdt_rec_create_cr_umask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3845 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_umask);
3851 lustre_dissect_element_mdt_rec_create_cr_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3853 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create_cr_padding_4);
3859 lustre_dissect_struct_mdt_rec_create(tvbuff_t *tvb _U_, int offset _U_,
3860 packet_info *pinfo _U_,
3861 proto_tree *parent_tree _U_,
3864 proto_item *item = NULL;
3865 proto_tree *tree = NULL;
3872 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
3873 tree = proto_item_add_subtree(item, ett_lustre_mdt_rec_create);
3875 cr_opcode=tvb_get_letohl(tvb,offset);
3876 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(cr_opcode, lustre_mds_reint_t_vals, "Unknown cr_opc"));
3878 offset=lustre_dissect_element_mdt_rec_create_cr_opcode(tvb, offset, pinfo, tree);
3880 offset=lustre_dissect_element_mdt_rec_create_cr_cap(tvb, offset, pinfo, tree);
3882 offset=lustre_dissect_element_mdt_rec_create_cr_fsuid(tvb, offset, pinfo, tree);
3884 offset=lustre_dissect_element_mdt_rec_create_cr_fsuid_h(tvb, offset, pinfo, tree);
3886 offset=lustre_dissect_element_mdt_rec_create_cr_fsgid(tvb, offset, pinfo, tree);
3888 offset=lustre_dissect_element_mdt_rec_create_cr_fsgid_h(tvb, offset, pinfo, tree);
3890 offset=lustre_dissect_element_mdt_rec_create_cr_suppgid1(tvb, offset, pinfo, tree);
3892 offset=lustre_dissect_element_mdt_rec_create_cr_suppgid1_h(tvb, offset, pinfo, tree);
3894 offset=lustre_dissect_element_mdt_rec_create_cr_suppgid2(tvb, offset, pinfo, tree);
3896 offset=lustre_dissect_element_mdt_rec_create_cr_suppgid2_h(tvb, offset, pinfo, tree);
3898 offset=lustre_dissect_element_mdt_rec_create_cr_fid1(tvb, offset, pinfo, tree);
3900 offset=lustre_dissect_element_mdt_rec_create_cr_fid2(tvb, offset, pinfo, tree);
3902 offset=lustre_dissect_element_mdt_rec_create_cr_old_handle(tvb, offset, pinfo, tree);
3904 offset=lustre_dissect_element_mdt_rec_create_cr_time(tvb, offset, pinfo, tree);
3906 offset=lustre_dissect_element_mdt_rec_create_cr_rdev(tvb, offset, pinfo, tree);
3908 offset=lustre_dissect_element_mdt_rec_create_cr_ioepoch(tvb, offset, pinfo, tree);
3910 offset=lustre_dissect_element_mdt_rec_create_cr_padding_1(tvb, offset, pinfo, tree);
3912 offset=lustre_dissect_element_mdt_rec_create_cr_mode(tvb, offset, pinfo, tree);
3914 offset=lustre_dissect_element_mdt_rec_create_cr_bias(tvb, offset, pinfo, tree);
3916 offset=lustre_dissect_element_mdt_rec_create_cr_flags_l(tvb, offset, pinfo, tree);
3918 offset=lustre_dissect_element_mdt_rec_create_cr_flags_h(tvb, offset, pinfo, tree);
3920 offset=lustre_dissect_element_mdt_rec_create_cr_umask(tvb, offset, pinfo, tree);
3922 offset=lustre_dissect_element_mdt_rec_create_cr_padding_4(tvb, offset, pinfo, tree);
3924 proto_item_set_len(item, offset-old_offset);
3929 /* TODO : find where this structure appear ! */
3930 /* IDL: struct mdt_rec_link { */
3931 /* IDL: uint32 lk_opcode; */
3932 /* IDL: uint32 lk_cap; */
3933 /* IDL: uint32 lk_fsuid; */
3934 /* IDL: uint32 lk_fsuid_h; */
3935 /* IDL: uint32 lk_fsgid; */
3936 /* IDL: uint32 lk_fsgid_h; */
3937 /* IDL: uint32 lk_suppgid1; */
3938 /* IDL: uint32 lk_suppgid1_h; */
3939 /* IDL: uint32 lk_suppgid2; */
3940 /* IDL: uint32 lk_suppgid2_h; */
3941 /* IDL: struct lu_fid { */
3942 /* IDL: } lk_fid1; */
3943 /* IDL: struct lu_fid { */
3944 /* IDL: } lk_fid2; */
3945 /* IDL: uint64 lk_time; */
3946 /* IDL: uint64 lk_padding_1; */
3947 /* IDL: uint64 lk_padding_2; */
3948 /* IDL: uint64 lk_padding_3; */
3949 /* IDL: uint64 lk_padding_4; */
3950 /* IDL: uint32 lk_bias; */
3951 /* IDL: uint32 lk_padding_5; */
3952 /* IDL: uint32 lk_padding_6; */
3953 /* IDL: uint32 lk_padding_7; */
3954 /* IDL: uint32 lk_padding_8; */
3955 /* IDL: uint32 lk_padding_9; */
3959 lustre_dissect_element_mdt_rec_link_lk_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3961 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_opcode);
3967 lustre_dissect_element_mdt_rec_link_lk_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3969 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_cap);
3975 lustre_dissect_element_mdt_rec_link_lk_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3977 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_fsuid);
3983 lustre_dissect_element_mdt_rec_link_lk_fsuid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3985 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_fsuid_h);
3991 lustre_dissect_element_mdt_rec_link_lk_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3993 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_fsgid);
3999 lustre_dissect_element_mdt_rec_link_lk_fsgid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4001 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_fsgid_h);
4007 lustre_dissect_element_mdt_rec_link_lk_suppgid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4009 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_suppgid1);
4015 lustre_dissect_element_mdt_rec_link_lk_suppgid1_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4017 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_suppgid1_h);
4023 lustre_dissect_element_mdt_rec_link_lk_suppgid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4025 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_suppgid2);
4031 lustre_dissect_element_mdt_rec_link_lk_suppgid2_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4033 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_suppgid2_h);
4039 lustre_dissect_element_mdt_rec_link_lk_fid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4041 offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_rec_link_lk_fid1);
4046 lustre_dissect_element_mdt_rec_link_lk_fid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4048 offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_rec_link_lk_fid2);
4053 lustre_dissect_element_mdt_rec_link_lk_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4057 ns.secs = tvb_get_letohl(tvb,offset);
4059 proto_tree_add_time(tree, hf_lustre_mdt_rec_link_lk_time, tvb, offset, 8, &ns );
4065 lustre_dissect_element_mdt_rec_link_lk_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4067 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_padding_1);
4073 lustre_dissect_element_mdt_rec_link_lk_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4075 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_padding_2);
4081 lustre_dissect_element_mdt_rec_link_lk_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4083 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_padding_3);
4089 lustre_dissect_element_mdt_rec_link_lk_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4091 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_padding_4);
4097 lustre_dissect_element_mdt_rec_link_lk_bias(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4099 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_bias);
4105 lustre_dissect_element_mdt_rec_link_lk_padding_5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4107 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_padding_5);
4113 lustre_dissect_element_mdt_rec_link_lk_padding_6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4115 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_padding_6);
4121 lustre_dissect_element_mdt_rec_link_lk_padding_7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4123 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_padding_7);
4129 lustre_dissect_element_mdt_rec_link_lk_padding_8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4131 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_padding_8);
4137 lustre_dissect_element_mdt_rec_link_lk_padding_9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4139 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link_lk_padding_9);
4145 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_)
4147 proto_item *item = NULL;
4148 proto_tree *tree = NULL;
4157 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4158 tree = proto_item_add_subtree(item, ett_lustre_mdt_rec_link);
4160 lk_opcode=tvb_get_letohl(tvb,offset);
4161 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(lk_opcode, lustre_mds_reint_t_vals, "Unknown lk_opc"));
4163 offset=lustre_dissect_element_mdt_rec_link_lk_opcode(tvb, offset, pinfo, tree);
4165 offset=lustre_dissect_element_mdt_rec_link_lk_cap(tvb, offset, pinfo, tree);
4167 offset=lustre_dissect_element_mdt_rec_link_lk_fsuid(tvb, offset, pinfo, tree);
4169 offset=lustre_dissect_element_mdt_rec_link_lk_fsuid_h(tvb, offset, pinfo, tree);
4171 offset=lustre_dissect_element_mdt_rec_link_lk_fsgid(tvb, offset, pinfo, tree);
4173 offset=lustre_dissect_element_mdt_rec_link_lk_fsgid_h(tvb, offset, pinfo, tree);
4175 offset=lustre_dissect_element_mdt_rec_link_lk_suppgid1(tvb, offset, pinfo, tree);
4177 offset=lustre_dissect_element_mdt_rec_link_lk_suppgid1_h(tvb, offset, pinfo, tree);
4179 offset=lustre_dissect_element_mdt_rec_link_lk_suppgid2(tvb, offset, pinfo, tree);
4181 offset=lustre_dissect_element_mdt_rec_link_lk_suppgid2_h(tvb, offset, pinfo, tree);
4183 offset=lustre_dissect_element_mdt_rec_link_lk_fid1(tvb, offset, pinfo, tree);
4185 offset=lustre_dissect_element_mdt_rec_link_lk_fid2(tvb, offset, pinfo, tree);
4187 offset=lustre_dissect_element_mdt_rec_link_lk_time(tvb, offset, pinfo, tree);
4189 offset=lustre_dissect_element_mdt_rec_link_lk_padding_1(tvb, offset, pinfo, tree);
4191 offset=lustre_dissect_element_mdt_rec_link_lk_padding_2(tvb, offset, pinfo, tree);
4193 offset=lustre_dissect_element_mdt_rec_link_lk_padding_3(tvb, offset, pinfo, tree);
4195 offset=lustre_dissect_element_mdt_rec_link_lk_padding_4(tvb, offset, pinfo, tree);
4197 offset=lustre_dissect_element_mdt_rec_link_lk_bias(tvb, offset, pinfo, tree);
4199 offset=lustre_dissect_element_mdt_rec_link_lk_padding_5(tvb, offset, pinfo, tree);
4201 offset=lustre_dissect_element_mdt_rec_link_lk_padding_6(tvb, offset, pinfo, tree);
4203 offset=lustre_dissect_element_mdt_rec_link_lk_padding_7(tvb, offset, pinfo, tree);
4205 offset=lustre_dissect_element_mdt_rec_link_lk_padding_8(tvb, offset, pinfo, tree);
4207 offset=lustre_dissect_element_mdt_rec_link_lk_padding_9(tvb, offset, pinfo, tree);
4210 proto_item_set_len(item, offset-old_offset);
4215 /* IDL: struct mdt_rec_unlink { */
4216 /* IDL: uint32 ul_opcode; */
4217 /* IDL: uint32 ul_cap; */
4218 /* IDL: uint32 ul_fsuid; */
4219 /* IDL: uint32 ul_fsuid_h; */
4220 /* IDL: uint32 ul_fsgid; */
4221 /* IDL: uint32 ul_fsgid_h; */
4222 /* IDL: uint32 ul_suppgid1; */
4223 /* IDL: uint32 ul_suppgid1_h; */
4224 /* IDL: uint32 ul_suppgid2; */
4225 /* IDL: uint32 ul_suppgid2_h; */
4226 /* IDL: struct lu_fid { */
4227 /* IDL: } ul_fid1; */
4228 /* IDL: struct lu_fid { */
4229 /* IDL: } ul_fid2; */
4230 /* IDL: uint64 ul_time; */
4231 /* IDL: uint64 ul_padding_2; */
4232 /* IDL: uint64 ul_padding_3; */
4233 /* IDL: uint64 ul_padding_4; */
4234 /* IDL: uint64 ul_padding_5; */
4235 /* IDL: uint32 ul_bias; */
4236 /* IDL: uint32 ul_mode; */
4237 /* IDL: uint32 ul_padding_6; */
4238 /* IDL: uint32 ul_padding_7; */
4239 /* IDL: uint32 ul_padding_8; */
4240 /* IDL: uint32 ul_padding_9; */
4244 lustre_dissect_element_mdt_rec_unlink_ul_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4246 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_opcode);
4252 lustre_dissect_element_mdt_rec_unlink_ul_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4254 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_cap);
4260 lustre_dissect_element_mdt_rec_unlink_ul_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4262 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_fsuid);
4268 lustre_dissect_element_mdt_rec_unlink_ul_fsuid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4270 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_fsuid_h);
4276 lustre_dissect_element_mdt_rec_unlink_ul_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4278 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_fsgid);
4284 lustre_dissect_element_mdt_rec_unlink_ul_fsgid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4286 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_fsgid_h);
4292 lustre_dissect_element_mdt_rec_unlink_ul_suppgid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4294 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_suppgid1);
4300 lustre_dissect_element_mdt_rec_unlink_ul_suppgid1_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4302 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_suppgid1_h);
4308 lustre_dissect_element_mdt_rec_unlink_ul_suppgid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4310 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_suppgid2);
4316 lustre_dissect_element_mdt_rec_unlink_ul_suppgid2_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4318 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_suppgid2_h);
4324 lustre_dissect_element_mdt_rec_unlink_ul_fid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4326 offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_rec_unlink_ul_fid1);
4331 lustre_dissect_element_mdt_rec_unlink_ul_fid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4333 offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_rec_unlink_ul_fid2);
4338 lustre_dissect_element_mdt_rec_unlink_ul_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4342 ns.secs = tvb_get_letohl(tvb,offset);
4344 proto_tree_add_time(tree,hf_lustre_mdt_rec_unlink_ul_time , tvb, offset, 8, &ns );
4350 lustre_dissect_element_mdt_rec_unlink_ul_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4352 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_padding_2);
4358 lustre_dissect_element_mdt_rec_unlink_ul_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4360 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_padding_3);
4366 lustre_dissect_element_mdt_rec_unlink_ul_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4368 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_padding_4);
4374 lustre_dissect_element_mdt_rec_unlink_ul_padding_5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4376 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_padding_5);
4382 lustre_dissect_element_mdt_rec_unlink_ul_bias(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4384 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_bias);
4390 lustre_dissect_element_mdt_rec_unlink_ul_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4392 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_mode);
4398 lustre_dissect_element_mdt_rec_unlink_ul_padding_6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4400 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_padding_6);
4406 lustre_dissect_element_mdt_rec_unlink_ul_padding_7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4408 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_padding_7);
4414 lustre_dissect_element_mdt_rec_unlink_ul_padding_8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4416 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_padding_8);
4422 lustre_dissect_element_mdt_rec_unlink_ul_padding_9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4424 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink_ul_padding_9);
4430 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_)
4432 proto_item *item = NULL;
4433 proto_tree *tree = NULL;
4442 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4443 tree = proto_item_add_subtree(item, ett_lustre_mdt_rec_unlink);
4446 ul_opcode=tvb_get_letohl(tvb,offset);
4447 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(ul_opcode, lustre_mds_reint_t_vals, "Unknown ul_opc"));
4449 offset=lustre_dissect_element_mdt_rec_unlink_ul_opcode(tvb, offset, pinfo, tree);
4451 offset=lustre_dissect_element_mdt_rec_unlink_ul_cap(tvb, offset, pinfo, tree);
4453 offset=lustre_dissect_element_mdt_rec_unlink_ul_fsuid(tvb, offset, pinfo, tree);
4455 offset=lustre_dissect_element_mdt_rec_unlink_ul_fsuid_h(tvb, offset, pinfo, tree);
4457 offset=lustre_dissect_element_mdt_rec_unlink_ul_fsgid(tvb, offset, pinfo, tree);
4459 offset=lustre_dissect_element_mdt_rec_unlink_ul_fsgid_h(tvb, offset, pinfo, tree);
4461 offset=lustre_dissect_element_mdt_rec_unlink_ul_suppgid1(tvb, offset, pinfo, tree);
4463 offset=lustre_dissect_element_mdt_rec_unlink_ul_suppgid1_h(tvb, offset, pinfo, tree);
4465 offset=lustre_dissect_element_mdt_rec_unlink_ul_suppgid2(tvb, offset, pinfo, tree);
4467 offset=lustre_dissect_element_mdt_rec_unlink_ul_suppgid2_h(tvb, offset, pinfo, tree);
4469 offset=lustre_dissect_element_mdt_rec_unlink_ul_fid1(tvb, offset, pinfo, tree);
4471 offset=lustre_dissect_element_mdt_rec_unlink_ul_fid2(tvb, offset, pinfo, tree);
4473 offset=lustre_dissect_element_mdt_rec_unlink_ul_time(tvb, offset, pinfo, tree);
4475 offset=lustre_dissect_element_mdt_rec_unlink_ul_padding_2(tvb, offset, pinfo, tree);
4477 offset=lustre_dissect_element_mdt_rec_unlink_ul_padding_3(tvb, offset, pinfo, tree);
4479 offset=lustre_dissect_element_mdt_rec_unlink_ul_padding_4(tvb, offset, pinfo, tree);
4481 offset=lustre_dissect_element_mdt_rec_unlink_ul_padding_5(tvb, offset, pinfo, tree);
4483 offset=lustre_dissect_element_mdt_rec_unlink_ul_bias(tvb, offset, pinfo, tree);
4485 offset=lustre_dissect_element_mdt_rec_unlink_ul_mode(tvb, offset, pinfo, tree);
4487 offset=lustre_dissect_element_mdt_rec_unlink_ul_padding_6(tvb, offset, pinfo, tree);
4489 offset=lustre_dissect_element_mdt_rec_unlink_ul_padding_7(tvb, offset, pinfo, tree);
4491 offset=lustre_dissect_element_mdt_rec_unlink_ul_padding_8(tvb, offset, pinfo, tree);
4493 offset=lustre_dissect_element_mdt_rec_unlink_ul_padding_9(tvb, offset, pinfo, tree);
4496 proto_item_set_len(item, offset-old_offset);
4501 /* IDL: struct mdt_rec_rename { */
4502 /* IDL: uint32 rn_opcode; */
4503 /* IDL: uint32 rn_fsuid; */
4504 /* IDL: uint32 rn_fsgid; */
4505 /* IDL: uint32 rn_cap; */
4506 /* IDL: uint32 rn_suppgid1; */
4507 /* IDL: uint32 rn_suppgid2; */
4508 /* IDL: struct ll_fid { */
4509 /* IDL: } rn_fid1; */
4510 /* IDL: struct ll_fid { */
4511 /* IDL: } rn_fid2; */
4512 /* IDL: uint64 rn_time; */
4513 /* IDL: uint32 rn_padding_1; */
4514 /* IDL: uint32 rn_padding_2; */
4515 /* IDL: uint32 rn_padding_3; */
4516 /* IDL: uint32 rn_padding_4; */
4520 lustre_dissect_element_mdt_rec_rename_rn_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4522 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_opcode);
4528 lustre_dissect_element_mdt_rec_rename_rn_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4530 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_cap);
4536 lustre_dissect_element_mdt_rec_rename_rn_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4538 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_fsuid);
4544 lustre_dissect_element_mdt_rec_rename_rn_fsuid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4546 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_fsuid_h);
4552 lustre_dissect_element_mdt_rec_rename_rn_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4554 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_fsgid);
4560 lustre_dissect_element_mdt_rec_rename_rn_fsgid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4562 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_fsgid_h);
4568 lustre_dissect_element_mdt_rec_rename_rn_suppgid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4570 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_suppgid1);
4576 lustre_dissect_element_mdt_rec_rename_rn_suppgid1_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4578 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_suppgid1_h);
4584 lustre_dissect_element_mdt_rec_rename_rn_suppgid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4586 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_suppgid2);
4592 lustre_dissect_element_mdt_rec_rename_rn_suppgid2_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4594 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_suppgid2_h);
4600 lustre_dissect_element_mdt_rec_rename_rn_fid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4602 offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_rec_rename_rn_fid1);
4607 lustre_dissect_element_mdt_rec_rename_rn_fid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4609 offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_rec_rename_rn_fid2);
4614 lustre_dissect_element_mdt_rec_rename_rn_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4618 ns.secs = tvb_get_letohl(tvb,offset);
4620 proto_tree_add_time(tree, hf_lustre_mdt_rec_rename_rn_time, tvb, offset, 8, &ns );
4626 lustre_dissect_element_mdt_rec_rename_rn_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4628 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_padding_1);
4634 lustre_dissect_element_mdt_rec_rename_rn_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4636 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_padding_2);
4642 lustre_dissect_element_mdt_rec_rename_rn_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4644 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_padding_3);
4650 lustre_dissect_element_mdt_rec_rename_rn_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4652 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_padding_4);
4658 lustre_dissect_element_mdt_rec_rename_rn_bias(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4660 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_bias);
4666 lustre_dissect_element_mdt_rec_rename_rn_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4668 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_mode);
4674 lustre_dissect_element_mdt_rec_rename_rn_padding_5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4676 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_padding_5);
4682 lustre_dissect_element_mdt_rec_rename_rn_padding_6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4684 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_padding_6);
4690 lustre_dissect_element_mdt_rec_rename_rn_padding_7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4692 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_padding_7);
4698 lustre_dissect_element_mdt_rec_rename_rn_padding_8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4700 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename_rn_padding_8);
4706 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_)
4708 proto_item *item = NULL;
4709 proto_tree *tree = NULL;
4718 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4719 tree = proto_item_add_subtree(item, ett_lustre_mdt_rec_rename);
4722 rn_opcode=tvb_get_letohl(tvb,offset);
4723 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(rn_opcode, lustre_mds_reint_t_vals, "Unknown rn_opc"));
4725 offset=lustre_dissect_element_mdt_rec_rename_rn_opcode(tvb, offset, pinfo, tree);
4727 offset=lustre_dissect_element_mdt_rec_rename_rn_cap(tvb, offset, pinfo, tree);
4729 offset=lustre_dissect_element_mdt_rec_rename_rn_fsuid(tvb, offset, pinfo, tree);
4731 offset=lustre_dissect_element_mdt_rec_rename_rn_fsuid_h(tvb, offset, pinfo, tree);
4733 offset=lustre_dissect_element_mdt_rec_rename_rn_fsgid(tvb, offset, pinfo, tree);
4735 offset=lustre_dissect_element_mdt_rec_rename_rn_fsgid_h(tvb, offset, pinfo, tree);
4737 offset=lustre_dissect_element_mdt_rec_rename_rn_suppgid1(tvb, offset, pinfo, tree);
4739 offset=lustre_dissect_element_mdt_rec_rename_rn_suppgid1_h(tvb, offset, pinfo, tree);
4741 offset=lustre_dissect_element_mdt_rec_rename_rn_suppgid2(tvb, offset, pinfo, tree);
4743 offset=lustre_dissect_element_mdt_rec_rename_rn_suppgid2_h(tvb, offset, pinfo, tree);
4745 offset=lustre_dissect_element_mdt_rec_rename_rn_fid1(tvb, offset, pinfo, tree);
4747 offset=lustre_dissect_element_mdt_rec_rename_rn_fid2(tvb, offset, pinfo, tree);
4749 offset=lustre_dissect_element_mdt_rec_rename_rn_time(tvb, offset, pinfo, tree);
4751 offset=lustre_dissect_element_mdt_rec_rename_rn_padding_1(tvb, offset, pinfo, tree);
4753 offset=lustre_dissect_element_mdt_rec_rename_rn_padding_2(tvb, offset, pinfo, tree);
4755 offset=lustre_dissect_element_mdt_rec_rename_rn_padding_3(tvb, offset, pinfo, tree);
4757 offset=lustre_dissect_element_mdt_rec_rename_rn_padding_4(tvb, offset, pinfo, tree);
4759 offset=lustre_dissect_element_mdt_rec_rename_rn_bias(tvb, offset, pinfo, tree);
4761 offset=lustre_dissect_element_mdt_rec_rename_rn_mode(tvb, offset, pinfo, tree);
4763 offset=lustre_dissect_element_mdt_rec_rename_rn_padding_5(tvb, offset, pinfo, tree);
4765 offset=lustre_dissect_element_mdt_rec_rename_rn_padding_6(tvb, offset, pinfo, tree);
4767 offset=lustre_dissect_element_mdt_rec_rename_rn_padding_7(tvb, offset, pinfo, tree);
4769 offset=lustre_dissect_element_mdt_rec_rename_rn_padding_8(tvb, offset, pinfo, tree);
4772 proto_item_set_len(item, offset-old_offset);
4777 /* I don't find where this struct appear on wire.. need to search mdc_setxattr_pack() */
4778 /* IDL: struct mdt_rec_setxattr { */
4779 /* IDL: uint32 sx_opcode; */
4780 /* IDL: uint32 sx_cap; */
4781 /* IDL: uint32 sx_fsuid; */
4782 /* IDL: uint32 sx_fsuid_h; */
4783 /* IDL: uint32 sx_fsgid; */
4784 /* IDL: uint32 sx_fsgid_h; */
4785 /* IDL: uint32 sx_suppgid1; */
4786 /* IDL: uint32 sx_suppgid1_h; */
4787 /* IDL: uint32 sx_suppgid2; */
4788 /* IDL: uint32 sx_suppgid2_h; */
4789 /* IDL: struct lu_fid { */
4790 /* IDL: } sx_fid; */
4791 /* IDL: uint64 sx_padding_1; */
4792 /* IDL: uint32 sx_padding_2; */
4793 /* IDL: uint32 sx_padding_3; */
4794 /* IDL: uint64 sx_valid; */
4795 /* IDL: uint64 sx_time; */
4796 /* IDL: uint64 sx_padding_5; */
4797 /* IDL: uint64 sx_padding_6; */
4798 /* IDL: uint64 sx_padding_7; */
4799 /* IDL: uint32 sx_size; */
4800 /* IDL: uint32 sx_flags; */
4801 /* IDL: uint32 sx_padding_8; */
4802 /* IDL: uint32 sx_padding_9; */
4803 /* IDL: uint32 sx_padding_10; */
4804 /* IDL: uint32 sx_padding_11; */
4808 lustre_dissect_element_mdt_rec_setxattr_sx_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4810 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_opcode);
4816 lustre_dissect_element_mdt_rec_setxattr_sx_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4818 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_cap);
4824 lustre_dissect_element_mdt_rec_setxattr_sx_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4826 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_fsuid);
4832 lustre_dissect_element_mdt_rec_setxattr_sx_fsuid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4834 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_fsuid_h);
4840 lustre_dissect_element_mdt_rec_setxattr_sx_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4842 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_fsgid);
4848 lustre_dissect_element_mdt_rec_setxattr_sx_fsgid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4850 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_fsgid_h);
4856 lustre_dissect_element_mdt_rec_setxattr_sx_suppgid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4858 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_suppgid1);
4864 lustre_dissect_element_mdt_rec_setxattr_sx_suppgid1_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4866 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_suppgid1_h);
4872 lustre_dissect_element_mdt_rec_setxattr_sx_suppgid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4874 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_suppgid2);
4880 lustre_dissect_element_mdt_rec_setxattr_sx_suppgid2_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4882 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_suppgid2_h);
4888 lustre_dissect_element_mdt_rec_setxattr_sx_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4890 offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_mdt_rec_setxattr_sx_fid);
4896 lustre_dissect_element_mdt_rec_setxattr_sx_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4898 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_padding_1);
4904 lustre_dissect_element_mdt_rec_setxattr_sx_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4906 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_padding_2);
4912 lustre_dissect_element_mdt_rec_setxattr_sx_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4914 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_padding_3);
4920 lustre_dissect_element_mdt_rec_setxattr_sx_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4922 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_valid);
4928 lustre_dissect_element_mdt_rec_setxattr_sx_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4933 ns.secs = tvb_get_letohl(tvb,offset);
4935 proto_tree_add_time(tree, hf_lustre_mdt_rec_setxattr_sx_time, tvb, offset, 8, &ns );
4941 lustre_dissect_element_mdt_rec_setxattr_sx_padding_5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4943 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_padding_5);
4949 lustre_dissect_element_mdt_rec_setxattr_sx_padding_6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4951 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_padding_6);
4957 lustre_dissect_element_mdt_rec_setxattr_sx_padding_7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4959 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_padding_7);
4965 lustre_dissect_element_mdt_rec_setxattr_sx_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4967 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_size);
4973 lustre_dissect_element_mdt_rec_setxattr_sx_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4975 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_flags);
4981 lustre_dissect_element_mdt_rec_setxattr_sx_padding_8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4983 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_padding_8);
4989 lustre_dissect_element_mdt_rec_setxattr_sx_padding_9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4991 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_padding_9);
4997 lustre_dissect_element_mdt_rec_setxattr_sx_padding_10(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4999 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_padding_10);
5005 lustre_dissect_element_mdt_rec_setxattr_sx_padding_11(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5007 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr_sx_padding_11);
5013 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_)
5015 proto_item *item = NULL;
5016 proto_tree *tree = NULL;
5025 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5026 tree = proto_item_add_subtree(item, ett_lustre_mdt_rec_setxattr);
5028 sx_opcode=tvb_get_letohl(tvb,offset);
5029 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(sx_opcode, lustre_mds_reint_t_vals, "Unknown sx_opc"));
5031 offset=lustre_dissect_element_mdt_rec_setxattr_sx_opcode(tvb, offset, pinfo, tree);
5033 offset=lustre_dissect_element_mdt_rec_setxattr_sx_cap(tvb, offset, pinfo, tree);
5035 offset=lustre_dissect_element_mdt_rec_setxattr_sx_fsuid(tvb, offset, pinfo, tree);
5037 offset=lustre_dissect_element_mdt_rec_setxattr_sx_fsuid_h(tvb, offset, pinfo, tree);
5039 offset=lustre_dissect_element_mdt_rec_setxattr_sx_fsgid(tvb, offset, pinfo, tree);
5041 offset=lustre_dissect_element_mdt_rec_setxattr_sx_fsgid_h(tvb, offset, pinfo, tree);
5043 offset=lustre_dissect_element_mdt_rec_setxattr_sx_suppgid1(tvb, offset, pinfo, tree);
5045 offset=lustre_dissect_element_mdt_rec_setxattr_sx_suppgid1_h(tvb, offset, pinfo, tree);
5047 offset=lustre_dissect_element_mdt_rec_setxattr_sx_suppgid2(tvb, offset, pinfo, tree);
5049 offset=lustre_dissect_element_mdt_rec_setxattr_sx_suppgid2_h(tvb, offset, pinfo, tree);
5051 offset=lustre_dissect_element_mdt_rec_setxattr_sx_fid(tvb, offset, pinfo, tree);
5053 offset=lustre_dissect_element_mdt_rec_setxattr_sx_padding_1(tvb, offset, pinfo, tree);
5055 offset=lustre_dissect_element_mdt_rec_setxattr_sx_padding_2(tvb, offset, pinfo, tree);
5057 offset=lustre_dissect_element_mdt_rec_setxattr_sx_padding_3(tvb, offset, pinfo, tree);
5059 offset=lustre_dissect_element_mdt_rec_setxattr_sx_valid(tvb, offset, pinfo, tree);
5061 offset=lustre_dissect_element_mdt_rec_setxattr_sx_time(tvb, offset, pinfo, tree);
5063 offset=lustre_dissect_element_mdt_rec_setxattr_sx_padding_5(tvb, offset, pinfo, tree);
5065 offset=lustre_dissect_element_mdt_rec_setxattr_sx_padding_6(tvb, offset, pinfo, tree);
5067 offset=lustre_dissect_element_mdt_rec_setxattr_sx_padding_7(tvb, offset, pinfo, tree);
5069 offset=lustre_dissect_element_mdt_rec_setxattr_sx_size(tvb, offset, pinfo, tree);
5071 offset=lustre_dissect_element_mdt_rec_setxattr_sx_flags(tvb, offset, pinfo, tree);
5073 offset=lustre_dissect_element_mdt_rec_setxattr_sx_padding_8(tvb, offset, pinfo, tree);
5075 offset=lustre_dissect_element_mdt_rec_setxattr_sx_padding_9(tvb, offset, pinfo, tree);
5077 offset=lustre_dissect_element_mdt_rec_setxattr_sx_padding_10(tvb, offset, pinfo, tree);
5079 offset=lustre_dissect_element_mdt_rec_setxattr_sx_padding_11(tvb, offset, pinfo, tree);
5082 proto_item_set_len(item, offset-old_offset);
5088 /* TODO : find where this structure appear */
5090 /* IDL: struct lov_desc { */
5091 /* IDL: uint32 ld_tgt_count; */
5092 /* IDL: uint32 ld_active_tgt_count; */
5093 /* IDL: uint32 ld_default_stripe_count; */
5094 /* IDL: uint32 ld_pattern; */
5095 /* IDL: uint64 ld_default_stripe_size; */
5096 /* IDL: uint64 ld_default_stripe_offset; */
5097 /* IDL: uint32 ld_padding_0; */
5098 /* IDL: uint32 ld_qos_maxage; */
5099 /* IDL: uint32 ld_padding_1; */
5100 /* IDL: uint32 ld_padding_2; */
5101 /* IDL: struct obd_uuid { */
5102 /* IDL: } ld_uuid; */
5106 lustre_dissect_element_lov_desc_ld_tgt_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5108 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_tgt_count);
5114 lustre_dissect_element_lov_desc_ld_active_tgt_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5116 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_active_tgt_count);
5122 lustre_dissect_element_lov_desc_ld_default_stripe_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5124 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_default_stripe_count);
5130 lustre_dissect_element_lov_desc_ld_pattern(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5132 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_pattern);
5138 lustre_dissect_element_lov_desc_ld_default_stripe_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5140 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_default_stripe_size);
5146 lustre_dissect_element_lov_desc_ld_default_stripe_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5148 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_default_stripe_offset);
5154 lustre_dissect_element_lov_desc_ld_padding_0(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5156 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_padding_0);
5162 lustre_dissect_element_lov_desc_ld_qos_maxage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5164 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_qos_maxage);
5170 lustre_dissect_element_lov_desc_ld_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5172 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_padding_1);
5178 lustre_dissect_element_lov_desc_ld_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5180 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_padding_2);
5186 lustre_dissect_element_lov_desc_ld_uuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5188 //offset=lustre_dissect_struct_HASH(0x85bade8)(tvb,offset,pinfo,tree,hf_lustre_lov_desc_ld_uuid);
5193 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_)
5195 proto_item *item = NULL;
5196 proto_tree *tree = NULL;
5204 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5205 tree = proto_item_add_subtree(item, ett_lustre_lov_desc);
5208 offset=lustre_dissect_element_lov_desc_ld_tgt_count(tvb, offset, pinfo, tree);
5210 offset=lustre_dissect_element_lov_desc_ld_active_tgt_count(tvb, offset, pinfo, tree);
5212 offset=lustre_dissect_element_lov_desc_ld_default_stripe_count(tvb, offset, pinfo, tree);
5214 offset=lustre_dissect_element_lov_desc_ld_pattern(tvb, offset, pinfo, tree);
5216 offset=lustre_dissect_element_lov_desc_ld_default_stripe_size(tvb, offset, pinfo, tree);
5218 offset=lustre_dissect_element_lov_desc_ld_default_stripe_offset(tvb, offset, pinfo, tree);
5220 offset=lustre_dissect_element_lov_desc_ld_padding_0(tvb, offset, pinfo, tree);
5222 offset=lustre_dissect_element_lov_desc_ld_qos_maxage(tvb, offset, pinfo, tree);
5224 offset=lustre_dissect_element_lov_desc_ld_padding_1(tvb, offset, pinfo, tree);
5226 offset=lustre_dissect_element_lov_desc_ld_padding_2(tvb, offset, pinfo, tree);
5228 offset=lustre_dissect_element_lov_desc_ld_uuid(tvb, offset, pinfo, tree);
5231 proto_item_set_len(item, offset-old_offset);
5236 /* IDL: struct obd_uuid { */
5237 /* char uuid[40]; */
5241 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_)
5243 /* the lenght of the string is 40 bytes max, with \0 inside */
5244 proto_tree_add_item(parent_tree, hf_index, tvb, offset, 40, TRUE);
5252 /* IDL: struct ldlm_res_id { */
5253 /* IDL: uint64 name[4]; */
5257 lustre_dissect_element_ldlm_res_id_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5259 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_res_id_name);
5265 lustre_dissect_element_ldlm_res_id_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5268 for (i = 0; i < 4; i++)
5269 offset=lustre_dissect_element_ldlm_res_id_name_(tvb, offset, pinfo, tree);
5277 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_)
5279 proto_item *item = NULL;
5280 proto_tree *tree = NULL;
5288 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5289 tree = proto_item_add_subtree(item, ett_lustre_ldlm_res_id);
5292 offset=lustre_dissect_element_ldlm_res_id_name(tvb, offset, pinfo, tree);
5295 proto_item_set_len(item, offset-old_offset);
5302 /* IDL: LCK_MINMODE=0, */
5303 /* IDL: LCK_EX=1, */
5304 /* IDL: LCK_PW=2, */
5305 /* IDL: LCK_PR=4, */
5306 /* IDL: LCK_CW=8, */
5307 /* IDL: LCK_CR=16, */
5308 /* IDL: LCK_NL=32, */
5309 /* IDL: LCK_GROUP=64, */
5310 /* IDL: LCK_MAXMODE, */
5314 lustre_dissect_enum_ldlm_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_)
5316 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_index);
5322 /* IDL: LDLM_PLAIN=10, */
5323 /* IDL: LDLM_EXTENT=11, */
5324 /* IDL: LDLM_FLOCK=12, */
5325 /* IDL: LDLM_IBITS=13, */
5326 /* IDL: LDLM_MAX_TYPE, */
5330 lustre_dissect_enum_ldlm_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_)
5332 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_resource_desc_lr_type );
5336 /* IDL: struct ldlm_extent { */
5337 /* IDL: uint64 start; */
5338 /* IDL: uint64 end; */
5339 /* IDL: uint64 gid; */
5343 lustre_dissect_element_ldlm_extent_start(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5345 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_extent_start);
5351 lustre_dissect_element_ldlm_extent_end(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5353 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_extent_end);
5359 lustre_dissect_element_ldlm_extent_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5361 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_extent_gid);
5367 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_)
5369 proto_item *item = NULL;
5370 proto_tree *tree = NULL;
5378 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5379 tree = proto_item_add_subtree(item, ett_lustre_ldlm_extent);
5382 offset=lustre_dissect_element_ldlm_extent_start(tvb, offset, pinfo, tree);
5384 offset=lustre_dissect_element_ldlm_extent_end(tvb, offset, pinfo, tree);
5386 offset=lustre_dissect_element_ldlm_extent_gid(tvb, offset, pinfo, tree);
5389 proto_item_set_len(item, offset-old_offset);
5394 /* IDL: struct ldlm_inodebits { */
5395 /* IDL: uint64 bits; */
5399 lustre_dissect_element_ldlm_inodebits_bits(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5401 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_inodebits_bits);
5407 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_)
5409 proto_item *item = NULL;
5410 proto_tree *tree = NULL;
5418 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5419 tree = proto_item_add_subtree(item, ett_lustre_ldlm_inodebits);
5422 offset=lustre_dissect_element_ldlm_inodebits_bits(tvb, offset, pinfo, tree);
5425 proto_item_set_len(item, offset-old_offset);
5430 /* IDL: struct ldlm_flock { */
5431 /* IDL: uint64 start; */
5432 /* IDL: uint64 end; */
5433 /* IDL: uint64 blocking_export; */
5434 /* IDL: uint32 blocking_pid; */
5435 /* IDL: uint32 pid; */
5439 lustre_dissect_element_ldlm_flock_start(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5441 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_start);
5447 lustre_dissect_element_ldlm_flock_end(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5449 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_end);
5455 lustre_dissect_element_ldlm_flock_blocking_export(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5457 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_blocking_export);
5463 lustre_dissect_element_ldlm_flock_blocking_pid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5465 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_blocking_pid);
5471 lustre_dissect_element_ldlm_flock_pid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5473 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_pid);
5479 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_)
5481 proto_item *item = NULL;
5482 proto_tree *tree = NULL;
5490 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5491 tree = proto_item_add_subtree(item, ett_lustre_ldlm_flock);
5494 offset=lustre_dissect_element_ldlm_flock_start(tvb, offset, pinfo, tree);
5496 offset=lustre_dissect_element_ldlm_flock_end(tvb, offset, pinfo, tree);
5498 offset=lustre_dissect_element_ldlm_flock_blocking_export(tvb, offset, pinfo, tree);
5500 offset=lustre_dissect_element_ldlm_flock_blocking_pid(tvb, offset, pinfo, tree);
5502 offset=lustre_dissect_element_ldlm_flock_pid(tvb, offset, pinfo, tree);
5505 proto_item_set_len(item, offset-old_offset);
5510 /* IDL: struct ldlm_intent { */
5511 /* IDL: uint64 opc; */
5515 lustre_dissect_element_ldlm_intent_opc(tvbuff_t *tvb _U_, int offset _U_,
5516 packet_info *pinfo _U_,
5517 proto_tree *tree _U_)
5520 /* this opcode is like a flag*/
5521 #define DOBIT(_hf) dissect_uint32(tvb, offset, pinfo, tree, (_hf))
5522 DOBIT(hf_lustre_ldlm_intent_opc_open );
5523 DOBIT(hf_lustre_ldlm_intent_opc_creat );
5524 DOBIT(hf_lustre_ldlm_intent_opc_readdir );
5525 DOBIT(hf_lustre_ldlm_intent_opc_getattr );
5526 DOBIT(hf_lustre_ldlm_intent_opc_lookup );
5527 DOBIT(hf_lustre_ldlm_intent_opc_unlink );
5528 DOBIT(hf_lustre_ldlm_intent_opc_getxattr);
5529 DOBIT(hf_lustre_ldlm_intent_opc_exec );
5530 DOBIT(hf_lustre_ldlm_intent_opc_pin );
5531 DOBIT(hf_lustre_ldlm_intent_opc_layout );
5532 DOBIT(hf_lustre_ldlm_intent_opc_q_dqacq );
5533 DOBIT(hf_lustre_ldlm_intent_opc_q_conn );
5534 DOBIT(hf_lustre_ldlm_intent_opc_setxattr);
5536 opcode = tvb_get_letohl(tvb,offset);
5538 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, "[ intent :");
5539 if(opcode & IT_OPEN ){
5540 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " open");
5541 proto_item_append_text(tree, " open" );
5543 if(opcode & IT_CREAT ){
5544 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " create");
5545 proto_item_append_text(tree, " create" );
5547 if(opcode & IT_READDIR ){
5548 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " readdir");
5549 proto_item_append_text(tree, " readdir" );
5551 if(opcode & IT_GETATTR ){
5552 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " getattr");
5553 proto_item_append_text(tree, " getattr" );
5555 if(opcode & IT_LOOKUP ){
5556 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " lookup");
5557 proto_item_append_text(tree, " lookup" );
5559 if(opcode & IT_UNLINK ){
5560 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " unlink");
5561 proto_item_append_text(tree, " unlink" );
5563 if(opcode & IT_TRUNC ){
5564 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " trunc");
5565 proto_item_append_text(tree, " trunc" );
5567 if(opcode & IT_GETXATTR){
5568 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " getxattr");
5569 proto_item_append_text(tree, " getxattr" );
5571 if(opcode & IT_EXEC ){
5572 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " exec");
5573 proto_item_append_text(tree, " exec" );
5575 if(opcode & IT_PIN ){
5576 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " pin");
5577 proto_item_append_text(tree, " pin" );
5579 if(opcode & IT_LAYOUT ){
5580 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " layout");
5581 proto_item_append_text(tree, " layout" );
5583 if(opcode & IT_QUOTA_DQACQ ){
5584 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " quota_dqacq");
5585 proto_item_append_text(tree, " quota_dqacq" );
5587 if(opcode & IT_QUOTA_CONN ){
5588 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " quota_conn");
5589 proto_item_append_text(tree, " quota_conn" );
5591 if(opcode & IT_SETXATTR ){
5592 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " setxattr");
5593 proto_item_append_text(tree, " setxattr" );
5596 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " ]");
5602 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_)
5605 proto_item * opcode_item = NULL;
5606 proto_tree * opcode_tree = NULL;
5608 intent_opc = tvb_get_letoh64(tvb,offset);
5610 opcode_item = proto_tree_add_item(parent_tree, hf_lustre_ldlm_intent_opc, tvb, offset, 8, TRUE);
5611 opcode_tree = proto_item_add_subtree(opcode_item, ett_lustre_ldlm_intent_opc);
5614 offset=lustre_dissect_element_ldlm_intent_opc(tvb, offset, pinfo, opcode_tree);
5616 offset=ldlm_opcode_process(tvb, offset, pinfo, parent_tree, intent_opc);
5621 /* IDL: struct ldlm_resource_desc { */
5622 /* IDL: enum ldlm_type lr_type; */
5623 /* IDL: uint32 lr_padding; */
5624 /* IDL: struct ldlm_res_id { */
5625 /* IDL: } lr_name; */
5629 lustre_dissect_element_ldlm_resource_desc_lr_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5631 /* offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_resource_desc_lr_type);*/
5632 offset=lustre_dissect_enum_ldlm_type(tvb, offset, pinfo, tree, hf_lustre_ldlm_resource_desc_lr_type);
5637 lustre_dissect_element_ldlm_resource_desc_lr_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5639 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_resource_desc_lr_padding);
5645 lustre_dissect_element_ldlm_resource_desc_lr_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5647 offset=lustre_dissect_struct_ldlm_res_id(tvb,offset,pinfo,tree,hf_lustre_ldlm_resource_desc_lr_name);
5652 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_)
5654 proto_item *item = NULL;
5655 proto_tree *tree = NULL;
5663 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5664 tree = proto_item_add_subtree(item, ett_lustre_ldlm_resource_desc);
5667 offset=lustre_dissect_element_ldlm_resource_desc_lr_type(tvb, offset, pinfo, tree);
5669 offset=lustre_dissect_element_ldlm_resource_desc_lr_padding(tvb, offset, pinfo, tree);
5671 offset=lustre_dissect_element_ldlm_resource_desc_lr_name(tvb, offset, pinfo, tree);
5674 proto_item_set_len(item, offset-old_offset);
5680 /* IDL: struct ldlm_lock_desc { */
5681 /* IDL: struct ldlm_resource_desc { */
5682 /* IDL: } l_resource; */
5683 /* IDL: enum ldlm_mode l_req_mode; */
5684 /* IDL: enum ldlm_mode l_granted_mode; */
5685 /* IDL: union ldlm_policy_data l_policy_data; */
5689 lustre_dissect_element_ldlm_lock_desc_l_resource(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5691 offset=lustre_dissect_struct_ldlm_resource_desc(tvb,offset,pinfo,tree,hf_lustre_ldlm_lock_desc_l_resource);
5696 lustre_dissect_element_ldlm_lock_desc_l_req_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5698 offset=lustre_dissect_enum_ldlm_mode(tvb, offset, pinfo, tree, hf_lustre_ldlm_lock_desc_l_req_mode);
5704 lustre_dissect_element_ldlm_lock_desc_l_granted_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5706 offset=lustre_dissect_enum_ldlm_mode(tvb, offset, pinfo, tree, hf_lustre_ldlm_lock_desc_l_granted_mode);
5712 lustre_dissect_element_ldlm_lock_desc_l_policy_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5715 guint32 lr_type; /* type of the lock */
5717 lr_type = tvb_get_letohl(tvb,offset - 48 ); /* TODO : find another way that using -48 */
5719 /* this section must be check with lustre code, possible mistake here */
5723 offset=lustre_dissect_struct_ldlm_flock(tvb,offset,pinfo,tree,hf_lustre_ldlm_lock_desc_l_policy_data);
5726 offset= lustre_dissect_struct_ldlm_extent(tvb,offset,pinfo,tree,hf_lustre_ldlm_lock_desc_l_policy_data);
5727 /* add an extra padding 8 bytes */
5728 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
5731 offset=lustre_dissect_struct_ldlm_inodebits(tvb,offset,pinfo,tree,hf_lustre_ldlm_lock_desc_l_policy_data);
5732 /* add an extra padding 24 bytes */
5733 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
5734 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
5735 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
5738 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
5739 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
5740 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
5741 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
5748 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_)
5750 proto_item *item = NULL;
5751 proto_tree *tree = NULL;
5754 guint32 lock_req_mode;
5760 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5761 tree = proto_item_add_subtree(item, ett_lustre_ldlm_lock_desc);
5764 offset=lustre_dissect_element_ldlm_lock_desc_l_resource(tvb, offset, pinfo, tree);
5766 lock_req_mode = tvb_get_letohl(tvb,offset);
5768 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(lock_req_mode, lustre_ldlm_mode_vals, "Unknown lock"));
5770 offset=lustre_dissect_element_ldlm_lock_desc_l_req_mode(tvb, offset, pinfo, tree);
5772 offset=lustre_dissect_element_ldlm_lock_desc_l_granted_mode(tvb, offset, pinfo, tree);
5774 offset=lustre_dissect_element_ldlm_lock_desc_l_policy_data(tvb, offset, pinfo, tree);
5777 proto_item_set_len(item, offset-old_offset);
5783 /* IDL: struct ldlm_request { */
5784 /* IDL: uint32 lock_flags; */
5785 /* IDL: uint32 lock_count; */
5786 /* IDL: struct ldlm_lock_desc { */
5787 /* IDL: } lock_desc; */
5788 /* IDL: struct lustre_handle { */
5789 /* IDL: } lock_handle[2]; */
5795 lustre_dissect_element_ldlm_request_lock_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5797 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_request_lock_count);
5803 lustre_dissect_element_ldlm_request_lock_desc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5805 offset=lustre_dissect_struct_ldlm_lock_desc(tvb,offset,pinfo,tree,hf_lustre_ldlm_request_lock_desc);
5812 lustre_dissect_element_ldlm_request_lock_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5814 /* col_append_fstr(pinfo->cinfo, COL_INFO, " ldlm cookie : %" G_GINT64_MODIFIER "u", tvb_get_letoh64(tvb,offset) );*/
5816 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_ldlm_request_lock_handle);
5821 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_)
5826 for (i = 0; i < num_locks; i++)
5827 offset=lustre_dissect_element_ldlm_request_lock_handle_(tvb, offset, pinfo, tree);
5833 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_)
5835 proto_item *item = NULL;
5836 proto_tree *tree = NULL;
5838 /* guint32 lock_flag; */
5839 /* guint32 ldlm_type; */
5840 guint32 num_locks = 2;
5845 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5846 tree = proto_item_add_subtree(item, ett_lustre_ldlm_request);
5849 /* lock_flag = tvb_get_letohl(tvb,offset); */
5850 offset=lustre_dissect_element_ldlm_lock_flags(tvb, offset, pinfo, tree,
5851 hf_lustre_ldlm_request_lock_flags);
5853 num_locks = tvb_get_letohl(tvb,offset);
5854 offset=lustre_dissect_element_ldlm_request_lock_count(tvb, offset, pinfo, tree);
5856 /* ldlm_type = (EXTENT, PLAIN, ou IBITS) */
5857 /* ldlm_type = tvb_get_letohl(tvb,offset); */
5858 offset=lustre_dissect_element_ldlm_request_lock_desc(tvb, offset, pinfo, tree);
5859 offset=lustre_dissect_element_ldlm_request_lock_handle(tvb, offset, pinfo, tree, num_locks);
5861 proto_item_set_len(item, offset-old_offset);
5867 lustre_dissect_element_ldlm_reply_lock_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5869 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply_lock_padding);
5875 lustre_dissect_element_ldlm_reply_lock_desc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5877 offset=lustre_dissect_struct_ldlm_lock_desc(tvb,offset,pinfo,tree,hf_lustre_ldlm_reply_lock_desc);
5882 lustre_dissect_element_ldlm_reply_lock_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5884 /* col_append_fstr(pinfo->cinfo, COL_INFO, " ldlm cookie : %" G_GINT64_MODIFIER "u", tvb_get_letoh64(tvb,offset) );*/
5886 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_ldlm_reply_lock_handle);
5891 lustre_dissect_element_ldlm_reply_lock_policy_res1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5893 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply_lock_policy_res1);
5899 lustre_dissect_element_ldlm_reply_lock_policy_res2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5901 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply_lock_policy_res2);
5907 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_ )
5909 proto_item *item = NULL;
5910 proto_tree *tree = NULL;
5912 /* guint32 lock_flag; */
5917 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5918 tree = proto_item_add_subtree(item, ett_lustre_ldlm_reply);
5921 /* lock_flag = tvb_get_letohl(tvb,offset); */
5922 offset=lustre_dissect_element_ldlm_lock_flags(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply_lock_flags);
5924 offset=lustre_dissect_element_ldlm_reply_lock_padding(tvb, offset, pinfo, tree);
5926 if (ldlm_type != NULL)
5927 *ldlm_type = tvb_get_letohl(tvb,offset);
5928 offset=lustre_dissect_element_ldlm_reply_lock_desc(tvb, offset, pinfo, tree);
5930 offset=lustre_dissect_element_ldlm_reply_lock_handle(tvb, offset, pinfo, tree);
5932 offset=lustre_dissect_element_ldlm_reply_lock_policy_res1(tvb, offset, pinfo, tree);
5934 offset=lustre_dissect_element_ldlm_reply_lock_policy_res2(tvb, offset, pinfo, tree);
5936 proto_item_set_len(item, offset-old_offset);
5944 /* IDL: struct mgs_send_param { */
5945 /* IDL: uint8 mgs_param[1024]; */
5951 lustre_dissect_element_mgs_send_param_mgs_param_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5953 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_send_param_mgs_param);
5959 lustre_dissect_element_mgs_send_param_mgs_param(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5962 for (i = 0; i < 1024; i++)
5963 offset=lustre_dissect_element_mgs_send_param_mgs_param_(tvb, offset, pinfo, tree);
5969 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_)
5971 proto_item *item = NULL;
5972 proto_tree *tree = NULL;
5979 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5980 tree = proto_item_add_subtree(item, ett_lustre_mgs_send_param);
5983 offset=lustre_dissect_element_mgs_send_param_mgs_param(tvb, offset, pinfo, tree);
5986 proto_item_set_len(item, offset-old_offset);
5991 /* IDL: struct mgs_config_body {
5992 * IDL: char mcb_name[64];
5993 * IDL: __u64 mcb_offset;
5994 * IDL: __u16 mcb_type;
5995 * IDL: __u8 mcb_reserved;
5996 * IDL: __u8 mcb_bits;
5997 * IDL: __u32 mcb_units;
6001 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_)
6003 int string_len = 64;
6004 proto_tree_add_item(parent_tree, hf_index, tvb,
6005 offset, string_len, TRUE);
6006 #ifdef WIRESHARK_COMPAT
6007 display_info_fstr(parent_tree, pinfo->cinfo, COL_INFO, " name : %s",
6008 (const gchar *)tvb_get_string(tvb, offset,
6011 display_info_fstr(parent_tree, pinfo->cinfo, COL_INFO, " name : %s",
6012 (const gchar *)tvb_get_string_enc(wmem_packet_scope(),
6017 offset += string_len;
6023 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_)
6025 proto_item *item = NULL;
6026 proto_tree *tree = NULL;
6029 old_offset = offset;
6032 item = proto_tree_add_item(parent_tree, hf_index, tvb,
6034 tree = proto_item_add_subtree(item, ett_lustre_mgs_config_body);
6037 offset = lustre_dissect_element_mgs_config_body_name(tvb, offset, pinfo,
6038 tree, hf_lustre_mgs_config_body_name);
6040 offset = dissect_uint64(tvb, offset, pinfo, tree,
6041 hf_lustre_mgs_config_body_offset);
6042 offset = dissect_uint16(tvb, offset, pinfo, tree,
6043 hf_lustre_mgs_config_body_type);
6044 offset = dissect_uint8(tvb, offset, pinfo, tree,
6045 hf_lustre_mgs_config_body_reserved);
6046 offset = dissect_uint8(tvb, offset, pinfo, tree,
6047 hf_lustre_mgs_config_body_bits);
6048 offset = dissect_uint32(tvb, offset, pinfo, tree,
6049 hf_lustre_mgs_config_body_units);
6051 proto_item_set_len(item, offset-old_offset);
6056 /* IDL: struct mgs_config_res {
6057 * IDL: __u64 mcr_offset;
6058 * IDL: __u64 mcr_size;
6062 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_)
6064 proto_item *item = NULL;
6065 proto_tree *tree = NULL;
6071 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6072 tree = proto_item_add_subtree(item, ett_lustre_mgs_config_res);
6075 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mgs_config_res_offset);
6076 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mgs_config_res_size);
6078 proto_item_set_len(item, offset-old_offset);
6084 /* IDL: struct mgs_target_info { */
6085 /* IDL: uint32 mti_lustre_ver; */
6086 /* IDL: uint32 mti_stripe_index; */
6087 /* IDL: uint32 mti_config_ver; */
6088 /* IDL: uint32 mti_flags; */
6089 /* IDL: uint32 mti_nid_count; */
6090 /* IDL: uint32 padding; */
6091 /* IDL: uint8 mti_fsname[64]; */
6092 /* IDL: uint8 mti_svname[64]; */
6093 /* IDL: uint8 mti_uuid[40]; */
6094 /* IDL: uint64 mti_nids[32]; */
6095 /* IDL: uint8 mti_params[4096]; */
6099 lustre_dissect_element_mgs_target_info_mti_lustre_ver(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6101 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_lustre_ver);
6107 lustre_dissect_element_mgs_target_info_mti_stripe_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6109 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_stripe_index);
6115 lustre_dissect_element_mgs_target_info_mti_config_ver(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6117 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_config_ver);
6123 lustre_dissect_element_mgs_target_info_mti_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6125 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_flags);
6131 lustre_dissect_element_mgs_target_info_mti_nid_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6133 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_nid_count);
6139 lustre_dissect_element_mgs_target_info_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6141 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_padding);
6147 lustre_dissect_element_mgs_target_info_mti_fsname_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6149 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_fsname);
6155 lustre_dissect_element_mgs_target_info_mti_fsname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6158 for (i = 0; i < 64; i++)
6159 offset=lustre_dissect_element_mgs_target_info_mti_fsname_(tvb, offset, pinfo, tree);
6169 lustre_dissect_element_mgs_target_info_mti_svname_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6171 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_svname);
6177 lustre_dissect_element_mgs_target_info_mti_svname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6180 for (i = 0; i < 64; i++)
6181 offset=lustre_dissect_element_mgs_target_info_mti_svname_(tvb, offset, pinfo, tree);
6187 lustre_dissect_element_mgs_target_info_mti_uuid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6189 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_uuid);
6195 lustre_dissect_element_mgs_target_info_mti_uuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6198 for (i = 0; i < 40; i++)
6199 offset=lustre_dissect_element_mgs_target_info_mti_uuid_(tvb, offset, pinfo, tree);
6209 lustre_dissect_element_mgs_target_info_mti_nids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6211 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_nids);
6217 lustre_dissect_element_mgs_target_info_mti_nids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6220 for (i = 0; i < 32; i++)
6221 offset=lustre_dissect_element_mgs_target_info_mti_nids_(tvb, offset, pinfo, tree);
6229 lustre_dissect_element_mgs_target_info_mti_params_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6231 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_params);
6237 lustre_dissect_element_mgs_target_info_mti_params(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6240 for (i = 0; i < 4096; i++)
6241 offset=lustre_dissect_element_mgs_target_info_mti_params_(tvb, offset, pinfo, tree);
6247 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_)
6249 proto_item *item = NULL;
6250 proto_tree *tree = NULL;
6258 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6259 tree = proto_item_add_subtree(item, ett_lustre_mgs_target_info);
6262 offset=lustre_dissect_element_mgs_target_info_mti_lustre_ver(tvb, offset, pinfo, tree);
6264 offset=lustre_dissect_element_mgs_target_info_mti_stripe_index(tvb, offset, pinfo, tree);
6266 offset=lustre_dissect_element_mgs_target_info_mti_config_ver(tvb, offset, pinfo, tree);
6268 offset=lustre_dissect_element_mgs_target_info_mti_flags(tvb, offset, pinfo, tree);
6270 offset=lustre_dissect_element_mgs_target_info_mti_nid_count(tvb, offset, pinfo, tree);
6272 offset=lustre_dissect_element_mgs_target_info_padding(tvb, offset, pinfo, tree);
6274 offset=lustre_dissect_element_mgs_target_info_mti_fsname(tvb, offset, pinfo, tree);
6276 offset=lustre_dissect_element_mgs_target_info_mti_svname(tvb, offset, pinfo, tree);
6278 offset=lustre_dissect_element_mgs_target_info_mti_uuid(tvb, offset, pinfo, tree);
6280 offset=lustre_dissect_element_mgs_target_info_mti_nids(tvb, offset, pinfo, tree);
6282 offset=lustre_dissect_element_mgs_target_info_mti_params(tvb, offset, pinfo, tree);
6285 proto_item_set_len(item, offset-old_offset);
6290 /* IDL: struct cfg_marker { */
6291 /* IDL: uint32 cm_step; */
6292 /* IDL: uint32 cm_flags; */
6293 /* IDL: uint32 cm_vers; */
6294 /* IDL: uint32 padding; */
6295 /* IDL: time_t cm_createtime; */
6296 /* IDL: time_t cm_canceltime; */
6297 /* IDL: uint8 cm_tgtname[64]; */
6298 /* IDL: uint8 cm_comment[64]; */
6302 lustre_dissect_element_cfg_marker_cm_step(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6304 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_step);
6310 lustre_dissect_element_cfg_marker_cm_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6312 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_flags);
6318 lustre_dissect_element_cfg_marker_cm_vers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6320 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_vers);
6326 lustre_dissect_element_cfg_marker_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6328 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_padding);
6334 lustre_dissect_element_cfg_marker_cm_createtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6336 //offset=dissect_ndr_time_t(tvb, offset, pinfo,tree, hf_lustre_cfg_marker_cm_createtime );
6337 /*g_print("function lustre_dissect_element_cfg_marker_cm_createtime don't work\n");*/
6342 lustre_dissect_element_cfg_marker_cm_canceltime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6344 //offset=dissect_ndr_time_t(tvb, offset, pinfo,tree, hf_lustre_cfg_marker_cm_canceltime);
6346 /*g_print("element_cfg_marker_cm_canceltime\n");*/
6353 lustre_dissect_element_cfg_marker_cm_tgtname_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6355 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_tgtname);
6361 lustre_dissect_element_cfg_marker_cm_tgtname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6364 for (i = 0; i < 64; i++)
6365 offset=lustre_dissect_element_cfg_marker_cm_tgtname_(tvb, offset, pinfo, tree);
6373 lustre_dissect_element_cfg_marker_cm_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6375 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_comment);
6381 lustre_dissect_element_cfg_marker_cm_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6384 for (i = 0; i < 64; i++)
6385 offset=lustre_dissect_element_cfg_marker_cm_comment_(tvb, offset, pinfo, tree);
6391 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_)
6393 proto_item *item = NULL;
6394 proto_tree *tree = NULL;
6402 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6403 tree = proto_item_add_subtree(item, ett_lustre_cfg_marker);
6406 offset=lustre_dissect_element_cfg_marker_cm_step(tvb, offset, pinfo, tree);
6408 offset=lustre_dissect_element_cfg_marker_cm_flags(tvb, offset, pinfo, tree);
6410 offset=lustre_dissect_element_cfg_marker_cm_vers(tvb, offset, pinfo, tree);
6412 offset=lustre_dissect_element_cfg_marker_padding(tvb, offset, pinfo, tree);
6414 offset=lustre_dissect_element_cfg_marker_cm_createtime(tvb, offset, pinfo, tree);
6416 offset=lustre_dissect_element_cfg_marker_cm_canceltime(tvb, offset, pinfo, tree);
6418 offset=lustre_dissect_element_cfg_marker_cm_tgtname(tvb, offset, pinfo, tree);
6420 offset=lustre_dissect_element_cfg_marker_cm_comment(tvb, offset, pinfo, tree);
6423 proto_item_set_len(item, offset-old_offset);
6430 /* IDL: struct llog_logid { */
6431 /* IDL: uint64 lgl_oid; */
6432 /* IDL: uint64 lgl_oseq; */
6433 /* IDL: uint32 lgl_ogen; */
6437 lustre_dissect_element_llog_logid_lgl_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6439 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_logid_lgl_oid);
6445 lustre_dissect_element_llog_logid_lgl_oseq(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6447 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_logid_lgl_oseq);
6453 lustre_dissect_element_llog_logid_lgl_ogen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6455 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_lgl_ogen);
6461 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_)
6463 proto_item *item = NULL;
6464 proto_tree *tree = NULL;
6472 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6473 tree = proto_item_add_subtree(item, ett_lustre_llog_logid);
6476 offset=lustre_dissect_element_llog_logid_lgl_oid(tvb, offset, pinfo, tree);
6478 offset=lustre_dissect_element_llog_logid_lgl_oseq(tvb, offset, pinfo, tree);
6480 offset=lustre_dissect_element_llog_logid_lgl_ogen(tvb, offset, pinfo, tree);
6483 proto_item_set_len(item, offset-old_offset);
6488 /* I don't know when this structure is used on network */
6489 /* IDL: struct llog_catid { */
6490 /* IDL: struct llog_logid { */
6491 /* IDL: } lci_logid; */
6492 /* IDL: uint32 lci_padding1; */
6493 /* IDL: uint32 lci_padding2; */
6494 /* IDL: uint32 lci_padding3; */
6498 lustre_dissect_element_llog_catid_lci_logid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6500 //offset=lustre_dissect_struct_HASH(0x85cc76c)(tvb,offset,pinfo,tree,hf_lustre_llog_catid_lci_logid);
6502 /*g_print("llog_catid_lci_logid bug\n");*/
6507 lustre_dissect_element_llog_catid_lci_padding1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6509 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_catid_lci_padding1);
6515 lustre_dissect_element_llog_catid_lci_padding2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6517 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_catid_lci_padding2);
6523 lustre_dissect_element_llog_catid_lci_padding3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6525 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_catid_lci_padding3);
6531 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_)
6533 proto_item *item = NULL;
6534 proto_tree *tree = NULL;
6542 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6543 tree = proto_item_add_subtree(item, ett_lustre_llog_catid);
6546 offset=lustre_dissect_element_llog_catid_lci_logid(tvb, offset, pinfo, tree);
6548 offset=lustre_dissect_element_llog_catid_lci_padding1(tvb, offset, pinfo, tree);
6550 offset=lustre_dissect_element_llog_catid_lci_padding2(tvb, offset, pinfo, tree);
6552 offset=lustre_dissect_element_llog_catid_lci_padding3(tvb, offset, pinfo, tree);
6555 proto_item_set_len(item, offset-old_offset);
6560 /* IDL: struct llog_rec_hdr { */
6561 /* IDL: uint32 lrh_len; */
6562 /* IDL: uint32 lrh_index; */
6563 /* IDL: uint32 lrh_type; */
6564 /* IDL: uint32 padding; */
6568 lustre_dissect_element_llog_rec_hdr_lrh_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6570 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_hdr_lrh_len);
6576 lustre_dissect_element_llog_rec_hdr_lrh_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6578 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_hdr_lrh_index);
6584 lustre_dissect_element_llog_rec_hdr_lrh_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6586 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_hdr_lrh_type);
6592 lustre_dissect_element_llog_rec_hdr_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6594 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_hdr_padding);
6600 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_)
6602 proto_item *item = NULL;
6603 proto_tree *tree = NULL;
6611 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6612 tree = proto_item_add_subtree(item, ett_lustre_llog_rec_hdr);
6615 offset=lustre_dissect_element_llog_rec_hdr_lrh_len(tvb, offset, pinfo, tree);
6617 offset=lustre_dissect_element_llog_rec_hdr_lrh_index(tvb, offset, pinfo, tree);
6619 offset=lustre_dissect_element_llog_rec_hdr_lrh_type(tvb, offset, pinfo, tree);
6621 offset=lustre_dissect_element_llog_rec_hdr_padding(tvb, offset, pinfo, tree);
6624 proto_item_set_len(item, offset-old_offset);
6629 /* IDL: struct llog_rec_tail { */
6630 /* IDL: uint32 lrt_len; */
6631 /* IDL: uint32 lrt_index; */
6635 lustre_dissect_element_llog_rec_tail_lrt_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6637 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_tail_lrt_len);
6643 lustre_dissect_element_llog_rec_tail_lrt_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6645 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_tail_lrt_index);
6651 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_)
6653 proto_item *item = NULL;
6654 proto_tree *tree = NULL;
6662 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6663 tree = proto_item_add_subtree(item, ett_lustre_llog_rec_tail);
6666 offset=lustre_dissect_element_llog_rec_tail_lrt_len(tvb, offset, pinfo, tree);
6668 offset=lustre_dissect_element_llog_rec_tail_lrt_index(tvb, offset, pinfo, tree);
6671 proto_item_set_len(item, offset-old_offset);
6676 /* IDL: struct llog_logid_rec { */
6677 /* IDL: struct llog_rec_hdr { */
6678 /* IDL: } lid_hdr; */
6679 /* IDL: struct llog_logid { */
6680 /* IDL: } lid_id; */
6681 /* IDL: uint32 padding1; */
6682 /* IDL: uint32 padding2; */
6683 /* IDL: uint32 padding3; */
6684 /* IDL: uint32 padding4; */
6685 /* IDL: uint32 padding5; */
6686 /* IDL: struct llog_rec_tail { */
6687 /* IDL: } lid_tail; */
6691 lustre_dissect_element_llog_logid_rec_lid_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6693 offset=lustre_dissect_struct_llog_rec_hdr(tvb,offset,pinfo,tree,hf_lustre_llog_logid_rec_lid_hdr);
6698 lustre_dissect_element_llog_logid_rec_lid_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6700 offset=lustre_dissect_struct_llog_logid(tvb,offset,pinfo,tree,hf_lustre_llog_logid_rec_lid_id);
6705 lustre_dissect_element_llog_logid_rec_padding1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6707 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding1);
6713 lustre_dissect_element_llog_logid_rec_padding2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6715 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding2);
6721 lustre_dissect_element_llog_logid_rec_padding3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6723 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding3);
6729 lustre_dissect_element_llog_logid_rec_padding4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6731 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding4);
6737 lustre_dissect_element_llog_logid_rec_padding5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6739 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding5);
6745 lustre_dissect_element_llog_logid_rec_lid_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6747 offset=lustre_dissect_struct_llog_rec_tail(tvb,offset,pinfo,tree,hf_lustre_llog_logid_rec_lid_tail);
6752 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_)
6754 proto_item *item = NULL;
6755 proto_tree *tree = NULL;
6763 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6764 tree = proto_item_add_subtree(item, ett_lustre_llog_logid_rec);
6767 offset=lustre_dissect_element_llog_logid_rec_lid_hdr(tvb, offset, pinfo, tree);
6769 offset=lustre_dissect_element_llog_logid_rec_lid_id(tvb, offset, pinfo, tree);
6771 offset=lustre_dissect_element_llog_logid_rec_padding1(tvb, offset, pinfo, tree);
6773 offset=lustre_dissect_element_llog_logid_rec_padding2(tvb, offset, pinfo, tree);
6775 offset=lustre_dissect_element_llog_logid_rec_padding3(tvb, offset, pinfo, tree);
6777 offset=lustre_dissect_element_llog_logid_rec_padding4(tvb, offset, pinfo, tree);
6779 offset=lustre_dissect_element_llog_logid_rec_padding5(tvb, offset, pinfo, tree);
6781 offset=lustre_dissect_element_llog_logid_rec_lid_tail(tvb, offset, pinfo, tree);
6784 proto_item_set_len(item, offset-old_offset);
6792 /* IDL: struct llog_unlink_rec { */
6793 /* IDL: struct llog_rec_hdr { */
6794 /* IDL: } lur_hdr; */
6795 /* IDL: uint64 lur_oid; */
6796 /* IDL: uint32 lur_ogen; */
6797 /* IDL: uint32 padding; */
6798 /* IDL: struct llog_rec_tail { */
6799 /* IDL: } lur_tail; */
6803 lustre_dissect_element_llog_unlink_rec_lur_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6805 //offset=lustre_dissect_struct_HASH(0x85d8730)(tvb,offset,pinfo,tree,hf_lustre_llog_unlink_rec_lur_hdr);
6810 lustre_dissect_element_llog_unlink_rec_lur_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6812 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_unlink_rec_lur_oid);
6818 lustre_dissect_element_llog_unlink_rec_lur_ogen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6820 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_unlink_rec_lur_ogen);
6826 lustre_dissect_element_llog_unlink_rec_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6828 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_unlink_rec_padding);
6834 lustre_dissect_element_llog_unlink_rec_lur_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6836 //offset=lustre_dissect_struct_HASH(0x85d9664)(tvb,offset,pinfo,tree,hf_lustre_llog_unlink_rec_lur_tail);
6841 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_)
6843 proto_item *item = NULL;
6844 proto_tree *tree = NULL;
6852 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6853 tree = proto_item_add_subtree(item, ett_lustre_llog_unlink_rec);
6856 offset=lustre_dissect_element_llog_unlink_rec_lur_hdr(tvb, offset, pinfo, tree);
6858 offset=lustre_dissect_element_llog_unlink_rec_lur_oid(tvb, offset, pinfo, tree);
6860 offset=lustre_dissect_element_llog_unlink_rec_lur_ogen(tvb, offset, pinfo, tree);
6862 offset=lustre_dissect_element_llog_unlink_rec_padding(tvb, offset, pinfo, tree);
6864 offset=lustre_dissect_element_llog_unlink_rec_lur_tail(tvb, offset, pinfo, tree);
6867 proto_item_set_len(item, offset-old_offset);
6874 /* IDL: struct llog_setattr_rec { */
6875 /* IDL: struct llog_rec_hdr { */
6876 /* IDL: } lsr_hdr; */
6877 /* IDL: uint64 lsr_oid; */
6878 /* IDL: uint32 lsr_ogen; */
6879 /* IDL: uint32 lsr_uid; */
6880 /* IDL: uint32 lsr_gid; */
6881 /* IDL: uint32 padding; */
6882 /* IDL: struct llog_rec_tail { */
6883 /* IDL: } lsr_tail; */
6887 lustre_dissect_element_llog_setattr_rec_lsr_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6889 //offset=lustre_dissect_struct_HASH(0x85da2f0)(tvb,offset,pinfo,tree,hf_lustre_llog_setattr_rec_lsr_hdr);
6894 lustre_dissect_element_llog_setattr_rec_lsr_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6896 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_lsr_oid);
6902 lustre_dissect_element_llog_setattr_rec_lsr_ogen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6904 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_lsr_ogen);
6910 lustre_dissect_element_llog_setattr_rec_lsr_uid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6912 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_lsr_uid);
6918 lustre_dissect_element_llog_setattr_rec_lsr_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6920 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_lsr_gid);
6926 lustre_dissect_element_llog_setattr_rec_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6928 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_padding);
6934 lustre_dissect_element_llog_setattr_rec_lsr_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6936 //offset=lustre_dissect_struct_HASH(0x85db3d4)(tvb,offset,pinfo,tree,hf_lustre_llog_setattr_rec_lsr_tail);
6941 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_)
6943 proto_item *item = NULL;
6944 proto_tree *tree = NULL;
6952 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6953 tree = proto_item_add_subtree(item, ett_lustre_llog_setattr_rec);
6956 offset=lustre_dissect_element_llog_setattr_rec_lsr_hdr(tvb, offset, pinfo, tree);
6958 offset=lustre_dissect_element_llog_setattr_rec_lsr_oid(tvb, offset, pinfo, tree);
6960 offset=lustre_dissect_element_llog_setattr_rec_lsr_ogen(tvb, offset, pinfo, tree);
6962 offset=lustre_dissect_element_llog_setattr_rec_lsr_uid(tvb, offset, pinfo, tree);
6964 offset=lustre_dissect_element_llog_setattr_rec_lsr_gid(tvb, offset, pinfo, tree);
6966 offset=lustre_dissect_element_llog_setattr_rec_padding(tvb, offset, pinfo, tree);
6968 offset=lustre_dissect_element_llog_setattr_rec_lsr_tail(tvb, offset, pinfo, tree);
6971 proto_item_set_len(item, offset-old_offset);
6979 /* IDL: struct llog_size_change_rec { */
6980 /* IDL: struct llog_rec_hdr { */
6981 /* IDL: } lsc_hdr; */
6982 /* IDL: struct ll_fid { */
6983 /* IDL: } lsc_fid; */
6984 /* IDL: uint32 lsc_io_epoch; */
6985 /* IDL: uint32 padding; */
6986 /* IDL: struct llog_rec_tail { */
6987 /* IDL: } lsc_tail; */
6991 lustre_dissect_element_llog_size_change_rec_lsc_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6993 //offset=lustre_dissect_struct_HASH(0x85dc458)(tvb,offset,pinfo,tree,hf_lustre_llog_size_change_rec_lsc_hdr);
6998 lustre_dissect_element_llog_size_change_rec_lsc_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7000 //offset=lustre_dissect_struct_HASH(0x85dc5a8)(tvb,offset,pinfo,tree,hf_lustre_llog_size_change_rec_lsc_fid);
7005 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_)
7007 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_size_change_rec_lsc_io_epoch);
7013 lustre_dissect_element_llog_size_change_rec_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7015 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_size_change_rec_padding);
7021 lustre_dissect_element_llog_size_change_rec_lsc_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7023 //offset=lustre_dissect_struct_HASH(0x85dd384)(tvb,offset,pinfo,tree,hf_lustre_llog_size_change_rec_lsc_tail);
7024 // TODO: to be corrected !
7029 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_)
7031 proto_item *item = NULL;
7032 proto_tree *tree = NULL;
7040 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
7041 tree = proto_item_add_subtree(item, ett_lustre_llog_size_change_rec);
7044 offset=lustre_dissect_element_llog_size_change_rec_lsc_hdr(tvb, offset, pinfo, tree);
7046 offset=lustre_dissect_element_llog_size_change_rec_lsc_fid(tvb, offset, pinfo, tree);
7048 offset=lustre_dissect_element_llog_size_change_rec_lsc_io_epoch(tvb, offset, pinfo, tree);
7050 offset=lustre_dissect_element_llog_size_change_rec_padding(tvb, offset, pinfo, tree);
7052 offset=lustre_dissect_element_llog_size_change_rec_lsc_tail(tvb, offset, pinfo, tree);
7055 proto_item_set_len(item, offset-old_offset);
7063 /* IDL: struct llog_gen { */
7064 /* IDL: uint64 mnt_cnt; */
7065 /* IDL: uint64 conn_cnt; */
7069 lustre_dissect_element_llog_gen_mnt_cnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7071 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_gen_mnt_cnt);
7077 lustre_dissect_element_llog_gen_conn_cnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7079 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_gen_conn_cnt);
7085 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_)
7087 proto_item *item = NULL;
7088 proto_tree *tree = NULL;
7096 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
7097 tree = proto_item_add_subtree(item, ett_lustre_llog_gen);
7100 offset=lustre_dissect_element_llog_gen_mnt_cnt(tvb, offset, pinfo, tree);
7102 offset=lustre_dissect_element_llog_gen_conn_cnt(tvb, offset, pinfo, tree);
7105 proto_item_set_len(item, offset-old_offset);
7110 /* IDL: struct llog_gen_rec { */
7111 /* IDL: struct llog_rec_hdr { */
7112 /* IDL: } lgr_hdr; */
7113 /* IDL: struct llog_gen { */
7114 /* IDL: } lgr_gen; */
7115 /* IDL: struct llog_rec_tail { */
7116 /* IDL: } lgr_tail; */
7120 lustre_dissect_element_llog_gen_rec_lgr_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7122 //offset=lustre_dissect_struct_HASH(0x85de2e4)(tvb,offset,pinfo,tree,hf_lustre_llog_gen_rec_lgr_hdr);
7123 // TODO: to be corrected !
7128 lustre_dissect_element_llog_gen_rec_lgr_gen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7130 //offset=lustre_dissect_struct_HASH(0x85de434)(tvb,offset,pinfo,tree,hf_lustre_llog_gen_rec_lgr_gen);
7131 // TODO: to be corrected !
7136 lustre_dissect_element_llog_gen_rec_lgr_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7138 //offset=lustre_dissect_struct_HASH(0x85df3f8)(tvb,offset,pinfo,tree,hf_lustre_llog_gen_rec_lgr_tail);
7139 // TODO: to be corrected !
7144 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_)
7146 proto_item *item = NULL;
7147 proto_tree *tree = NULL;
7155 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
7156 tree = proto_item_add_subtree(item, ett_lustre_llog_gen_rec);
7159 offset=lustre_dissect_element_llog_gen_rec_lgr_hdr(tvb, offset, pinfo, tree);
7161 offset=lustre_dissect_element_llog_gen_rec_lgr_gen(tvb, offset, pinfo, tree);
7163 offset=lustre_dissect_element_llog_gen_rec_lgr_tail(tvb, offset, pinfo, tree);
7166 proto_item_set_len(item, offset-old_offset);
7174 /* IDL: struct llog_log_hdr { */
7175 /* IDL: struct llog_rec_hdr { */
7176 /* IDL: } llh_hdr; */
7177 /* IDL: uint64 llh_timestamp; */
7178 /* IDL: uint32 llh_count; */
7179 /* IDL: uint32 llh_bitmap_offset; */
7180 /* IDL: uint32 llh_size; */
7181 /* IDL: uint32 llh_flags; */
7182 /* IDL: uint32 llh_cat_idx; */
7183 /* IDL: struct obd_uuid { */
7184 /* IDL: } llh_tgtuuid; */
7185 /* IDL: uint32 llh_reserved[1]; */
7186 /* IDL: uint32 llh_bitmap[2024]; */
7187 /* IDL: struct llog_rec_tail { */
7188 /* IDL: } llh_tail; */
7192 lustre_dissect_element_llog_log_hdr_llh_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7194 offset=lustre_dissect_struct_llog_rec_hdr(tvb,offset,pinfo,tree,hf_lustre_llog_log_hdr_llh_hdr);
7199 lustre_dissect_element_llog_log_hdr_llh_timestamp(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7202 ns.secs = tvb_get_letohl(tvb,offset);
7204 proto_tree_add_time(tree, hf_lustre_llog_log_hdr_llh_timestamp, tvb, offset, 8, &ns );
7210 lustre_dissect_element_llog_log_hdr_llh_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7212 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_count);
7218 lustre_dissect_element_llog_log_hdr_llh_bitmap_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7220 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_bitmap_offset);
7226 lustre_dissect_element_llog_log_hdr_llh_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7228 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_size);
7236 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_)
7238 proto_item *item = NULL;
7239 proto_tree *tree = NULL;
7242 item = proto_tree_add_item(parent_tree,hf_index, tvb, offset, 4, TRUE);
7243 tree = proto_item_add_subtree(item, ett_lustre_llog_log_llh_flags);
7245 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_hdr_llh_flag_zap_when_empty);
7246 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_hdr_llh_flag_is_cat);
7247 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_hdr_llh_flag_is_play);
7254 lustre_dissect_element_llog_log_hdr_llh_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7256 // offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_flags);
7257 offset=lustre_dissect_element_llog_log_llh_flags(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_flags);
7262 lustre_dissect_element_llog_log_hdr_llh_cat_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7264 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_cat_idx);
7270 lustre_dissect_element_llog_log_hdr_llh_tgtuuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7272 offset=lustre_dissect_struct_obd_uuid(tvb,offset,pinfo,tree,hf_lustre_llog_log_hdr_llh_tgtuuid);
7277 lustre_dissect_element_llog_log_hdr_llh_reserved_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7279 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_reserved);
7285 lustre_dissect_element_llog_log_hdr_llh_reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7288 for (i = 0; i < 1; i++)
7289 offset=lustre_dissect_element_llog_log_hdr_llh_reserved_(tvb, offset, pinfo, tree);
7295 lustre_dissect_element_llog_log_hdr_llh_bitmap_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7297 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_bitmap);
7304 lustre_dissect_element_llog_log_hdr_llh_bitmap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7307 for (i = 0; i < 2024; i++)
7308 offset=lustre_dissect_element_llog_log_hdr_llh_bitmap_(tvb, offset, pinfo, tree);
7316 lustre_dissect_element_llog_log_hdr_llh_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7318 offset=lustre_dissect_struct_llog_rec_tail(tvb,offset,pinfo,tree,hf_lustre_llog_log_hdr_llh_tail);
7323 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_)
7325 proto_item *item = NULL;
7326 proto_tree *tree = NULL;
7332 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
7333 tree = proto_item_add_subtree(item, ett_lustre_llog_log_hdr);
7336 offset=lustre_dissect_element_llog_log_hdr_llh_hdr(tvb, offset, pinfo, tree);
7338 offset=lustre_dissect_element_llog_log_hdr_llh_timestamp(tvb, offset, pinfo, tree);
7340 offset=lustre_dissect_element_llog_log_hdr_llh_count(tvb, offset, pinfo, tree);
7342 offset=lustre_dissect_element_llog_log_hdr_llh_bitmap_offset(tvb, offset, pinfo, tree);
7344 offset=lustre_dissect_element_llog_log_hdr_llh_size(tvb, offset, pinfo, tree);
7346 offset=lustre_dissect_element_llog_log_hdr_llh_flags(tvb, offset, pinfo, tree);
7348 offset=lustre_dissect_element_llog_log_hdr_llh_cat_idx(tvb, offset, pinfo, tree);
7350 offset=lustre_dissect_element_llog_log_hdr_llh_tgtuuid(tvb, offset, pinfo, tree);
7352 offset=lustre_dissect_element_llog_log_hdr_llh_reserved(tvb, offset, pinfo, tree);
7354 offset=lustre_dissect_element_llog_log_hdr_llh_bitmap(tvb, offset, pinfo, tree);
7356 offset=lustre_dissect_element_llog_log_hdr_llh_tail(tvb, offset, pinfo, tree);
7358 proto_item_set_len(item, offset-old_offset);
7366 /* IDL: struct llog_cookie { */
7367 /* IDL: struct llog_logid { */
7368 /* IDL: } lgc_lgl; */
7369 /* IDL: uint32 lgc_subsys; */
7370 /* IDL: uint32 lgc_index; */
7371 /* IDL: uint32 lgc_padding; */
7375 lustre_dissect_element_llog_cookie_lgc_lgl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7377 offset=lustre_dissect_struct_llog_logid(tvb,offset,pinfo,tree,hf_lustre_llog_cookie_lgc_lgl);
7382 lustre_dissect_element_llog_cookie_lgc_subsys(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7384 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_cookie_lgc_subsys);
7390 lustre_dissect_element_llog_cookie_lgc_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7392 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_cookie_lgc_index);
7398 lustre_dissect_element_llog_cookie_lgc_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7400 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_cookie_lgc_padding);
7406 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_)
7408 proto_item *item = NULL;
7409 proto_tree *tree = NULL;
7417 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
7418 tree = proto_item_add_subtree(item, ett_lustre_llog_cookie);
7421 offset=lustre_dissect_element_llog_cookie_lgc_lgl(tvb, offset, pinfo, tree);
7423 offset=lustre_dissect_element_llog_cookie_lgc_subsys(tvb, offset, pinfo, tree);
7425 offset=lustre_dissect_element_llog_cookie_lgc_index(tvb, offset, pinfo, tree);
7427 offset=lustre_dissect_element_llog_cookie_lgc_padding(tvb, offset, pinfo, tree);
7430 proto_item_set_len(item, offset-old_offset);
7437 /* IDL: struct llogd_body { */
7438 /* IDL: struct llog_logid { */
7439 /* IDL: } lgd_logid; */
7440 /* IDL: uint32 lgd_ctxt_idx; */
7441 /* IDL: uint32 lgd_llh_flags; */
7442 /* IDL: uint32 lgd_index; */
7443 /* IDL: uint32 lgd_saved_index; */
7444 /* IDL: uint32 lgd_len; */
7445 /* IDL: uint64 lgd_cur_offset; */
7449 lustre_dissect_element_llogd_body_lgd_logid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7451 offset=lustre_dissect_struct_llog_logid(tvb,offset,pinfo,tree,hf_lustre_llogd_body_lgd_logid);
7456 lustre_dissect_element_llogd_body_lgd_ctxt_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7458 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_ctxt_idx);
7464 lustre_dissect_element_llogd_body_lgd_llh_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7466 //offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_llh_flags);
7468 offset=lustre_dissect_element_llog_log_llh_flags(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_llh_flags);
7474 lustre_dissect_element_llogd_body_lgd_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7476 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_index);
7482 lustre_dissect_element_llogd_body_lgd_saved_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7484 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_saved_index);
7490 lustre_dissect_element_llogd_body_lgd_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7492 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_len);
7498 lustre_dissect_element_llogd_body_lgd_cur_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7500 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_cur_offset);
7506 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_)
7508 proto_item *item = NULL;
7509 proto_tree *tree = NULL;
7517 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
7518 tree = proto_item_add_subtree(item, ett_lustre_llogd_body);
7521 offset=lustre_dissect_element_llogd_body_lgd_logid(tvb, offset, pinfo, tree);
7523 offset=lustre_dissect_element_llogd_body_lgd_ctxt_idx(tvb, offset, pinfo, tree);
7525 offset=lustre_dissect_element_llogd_body_lgd_llh_flags(tvb, offset, pinfo, tree);
7527 offset=lustre_dissect_element_llogd_body_lgd_index(tvb, offset, pinfo, tree);
7529 offset=lustre_dissect_element_llogd_body_lgd_saved_index(tvb, offset, pinfo, tree);
7531 offset=lustre_dissect_element_llogd_body_lgd_len(tvb, offset, pinfo, tree);
7533 offset=lustre_dissect_element_llogd_body_lgd_cur_offset(tvb, offset, pinfo, tree);
7536 proto_item_set_len(item, offset-old_offset);
7542 /* TODO : find when this Structure appear on the wire */
7543 /* IDL: struct llogd_conn_body { */
7544 /* IDL: struct llog_gen { */
7545 /* IDL: } lgdc_gen; */
7546 /* IDL: struct llog_logid { */
7547 /* IDL: } lgdc_logid; */
7548 /* IDL: uint32 lgdc_ctxt_idx; */
7552 lustre_dissect_element_llogd_conn_body_lgdc_gen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7554 //offset=lustre_dissect_struct_HASH(0x85e6038)(tvb,offset,pinfo,tree,hf_lustre_llogd_conn_body_lgdc_gen);
7559 lustre_dissect_element_llogd_conn_body_lgdc_logid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7561 //offset=lustre_dissect_struct_HASH(0x85e6188)(tvb,offset,pinfo,tree,hf_lustre_llogd_conn_body_lgdc_logid);
7566 lustre_dissect_element_llogd_conn_body_lgdc_ctxt_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7568 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_conn_body_lgdc_ctxt_idx);
7574 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_)
7576 proto_item *item = NULL;
7577 proto_tree *tree = NULL;
7585 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
7586 tree = proto_item_add_subtree(item, ett_lustre_llogd_conn_body);
7589 offset=lustre_dissect_element_llogd_conn_body_lgdc_gen(tvb, offset, pinfo, tree);
7591 offset=lustre_dissect_element_llogd_conn_body_lgdc_logid(tvb, offset, pinfo, tree);
7593 offset=lustre_dissect_element_llogd_conn_body_lgdc_ctxt_idx(tvb, offset, pinfo, tree);
7596 proto_item_set_len(item, offset-old_offset);
7601 /* IDL: struct obdo { */
7602 /* IDL: uint64 o_valid; */
7603 /* IDL: uint64 o_id; */
7604 /* IDL: uint64 o_seq; */
7605 /* IDL: uint64 o_parent_seq; */
7606 /* IDL: uint64 o_size; */
7607 /* IDL: uint64 o_mtime; */
7608 /* IDL: uint64 o_atime; */
7609 /* IDL: uint64 o_ctime; */
7610 /* IDL: uint64 o_blocks; */
7611 /* IDL: uint64 o_grant; */
7612 /* IDL: uint32 o_blksize; */
7613 /* IDL: uint32 o_mode; */
7614 /* IDL: uint32 o_uid; */
7615 /* IDL: uint32 o_gid; */
7616 /* IDL: uint32 o_flags; */
7617 /* IDL: uint32 o_nlink; */
7618 /* IDL: uint32 o_parent_oid; */
7619 /* IDL: uint32 o_misc; */
7620 /* IDL: uint64 o_ioepoch; */
7621 /* IDL: uint32 o_stripe_idx; */
7622 /* IDL: uint32 o_parent_ver; */
7623 /* IDL: struct lustre_handle { */
7624 /* IDL: } o_handle; */
7625 /* IDL: struct llog_cookie { */
7626 /* IDL: } o_lcookie; */
7627 /* IDL: uint32 o_uid_h; */
7628 /* IDL: uint32 o_gid_h; */
7629 /* IDL: uint64 o_padding_3; */
7630 /* IDL: uint64 o_padding_4; */
7631 /* IDL: uint64 o_padding_5; */
7632 /* IDL: uint64 o_padding_6; */
7636 lustre_dissect_element_obdo_o_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7638 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_valid);
7644 lustre_dissect_element_obdo_o_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7646 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_id);
7652 lustre_dissect_element_obdo_o_seq(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7654 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_seq);
7660 lustre_dissect_element_obdo_o_parent_seq(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7662 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_parent_seq);
7668 lustre_dissect_element_obdo_o_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7670 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_size);
7676 lustre_dissect_element_obdo_o_mtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7680 ns.secs = tvb_get_letohl(tvb,offset);
7682 proto_tree_add_time(tree, hf_lustre_obdo_o_mtime, tvb, offset, 8, &ns );
7688 lustre_dissect_element_obdo_o_atime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7692 ns.secs = tvb_get_letohl(tvb,offset);
7694 proto_tree_add_time(tree, hf_lustre_obdo_o_atime, tvb, offset, 8, &ns );
7701 lustre_dissect_element_obdo_o_ctime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7705 ns.secs = tvb_get_letohl(tvb,offset);
7707 proto_tree_add_time(tree, hf_lustre_obdo_o_ctime, tvb, offset, 8, &ns );
7713 lustre_dissect_element_obdo_o_blocks(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7715 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_blocks);
7721 lustre_dissect_element_obdo_o_grant(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7723 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_grant);
7729 lustre_dissect_element_obdo_o_blksize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7731 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_blksize);
7737 lustre_dissect_element_obdo_o_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7739 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_mode);
7745 lustre_dissect_element_obdo_o_uid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7747 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_uid);
7753 lustre_dissect_element_obdo_o_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7755 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_gid);
7761 lustre_dissect_element_obdo_o_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7763 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_flags);
7764 /* TODO rajouter ça , faire une fonction générique qui s'occupe de tous les flags d'un tableau. */
7766 /*0x00000001 : "OBD_FL_INLINEDATA",*/
7767 /*0x00000002 : "OBD_FL_OBDMDEXISTS",*/
7768 /*0x00000004 : "OBD_FL_DELORPHAN",*/
7769 /*0x00000008 : "OBD_FL_NORPC",*/
7770 /*0x00000010 : "OBD_FL_IDONLY",*/
7771 /*0x00000020 : "OBD_FL_RECREATE_OBJS",*/
7772 /*0x00000040 : "OBD_FL_DEBUG_CHECK",*/
7773 /*0x00000100 : "OBD_FL_NO_USRQUOTA",*/
7774 /*0x00000200 : "OBD_FL_NO_GRPQUOTA",*/
7775 /*0x00000400 : "OBD_FL_CREATE_CROW",*/
7776 /*0x00000800 : "OBD_FL_SRVLOCK",*/
7782 lustre_dissect_element_obdo_o_nlink(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7784 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_nlink);
7790 lustre_dissect_element_obdo_o_parent_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7792 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_parent_oid);
7798 lustre_dissect_element_obdo_o_misc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7800 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_misc);
7806 lustre_dissect_element_obdo_o_ioepoch(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7808 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_ioepoch);
7814 lustre_dissect_element_obdo_o_stripe_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7816 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_stripe_idx);
7822 lustre_dissect_element_obdo_o_parent_ver(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7824 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_parent_ver);
7830 lustre_dissect_element_obdo_o_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7832 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_obdo_o_handle);
7837 lustre_dissect_element_obdo_o_lcookie(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7839 offset=lustre_dissect_struct_llog_cookie(tvb,offset,pinfo,tree,hf_lustre_obdo_o_lcookie);
7844 lustre_dissect_element_obdo_o_uid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7846 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_uid_h);
7852 lustre_dissect_element_obdo_o_gid_h(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7854 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_gid_h);
7860 lustre_dissect_element_obdo_o_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7862 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_3);
7868 lustre_dissect_element_obdo_o_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7870 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_4);
7876 lustre_dissect_element_obdo_o_padding_5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7878 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_5);
7884 lustre_dissect_element_obdo_o_padding_6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7886 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_6);
7892 lustre_dissect_struct_obdo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
7894 proto_item *item = NULL;
7895 proto_tree *tree = NULL;
7902 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
7903 tree = proto_item_add_subtree(item, ett_lustre_obdo);
7906 offset=lustre_dissect_element_obdo_o_valid(tvb, offset, pinfo, tree);
7908 offset=lustre_dissect_element_obdo_o_id(tvb, offset, pinfo, tree);
7910 offset=lustre_dissect_element_obdo_o_seq(tvb, offset, pinfo, tree);
7912 offset=lustre_dissect_element_obdo_o_parent_seq(tvb, offset, pinfo, tree);
7914 offset=lustre_dissect_element_obdo_o_size(tvb, offset, pinfo, tree);
7916 offset=lustre_dissect_element_obdo_o_mtime(tvb, offset, pinfo, tree);
7918 offset=lustre_dissect_element_obdo_o_atime(tvb, offset, pinfo, tree);
7920 offset=lustre_dissect_element_obdo_o_ctime(tvb, offset, pinfo, tree);
7922 offset=lustre_dissect_element_obdo_o_blocks(tvb, offset, pinfo, tree);
7924 offset=lustre_dissect_element_obdo_o_grant(tvb, offset, pinfo, tree);
7926 offset=lustre_dissect_element_obdo_o_blksize(tvb, offset, pinfo, tree);
7928 offset=lustre_dissect_element_obdo_o_mode(tvb, offset, pinfo, tree);
7930 offset=lustre_dissect_element_obdo_o_uid(tvb, offset, pinfo, tree);
7932 offset=lustre_dissect_element_obdo_o_gid(tvb, offset, pinfo, tree);
7934 offset=lustre_dissect_element_obdo_o_flags(tvb, offset, pinfo, tree);
7936 offset=lustre_dissect_element_obdo_o_nlink(tvb, offset, pinfo, tree);
7938 offset=lustre_dissect_element_obdo_o_parent_oid(tvb, offset, pinfo, tree);
7940 offset=lustre_dissect_element_obdo_o_misc(tvb, offset, pinfo, tree);
7942 offset=lustre_dissect_element_obdo_o_ioepoch(tvb, offset, pinfo, tree);
7944 offset=lustre_dissect_element_obdo_o_stripe_idx(tvb, offset, pinfo, tree);
7946 offset=lustre_dissect_element_obdo_o_parent_ver(tvb, offset, pinfo, tree);
7948 offset=lustre_dissect_element_obdo_o_handle(tvb, offset, pinfo, tree);
7950 offset=lustre_dissect_element_obdo_o_lcookie(tvb, offset, pinfo, tree);
7952 offset=lustre_dissect_element_obdo_o_uid_h(tvb, offset, pinfo, tree);
7954 offset=lustre_dissect_element_obdo_o_gid_h(tvb, offset, pinfo, tree);
7956 offset=lustre_dissect_element_obdo_o_padding_3(tvb, offset, pinfo, tree);
7958 offset=lustre_dissect_element_obdo_o_padding_4(tvb, offset, pinfo, tree);
7960 offset=lustre_dissect_element_obdo_o_padding_5(tvb, offset, pinfo, tree);
7962 offset=lustre_dissect_element_obdo_o_padding_6(tvb, offset, pinfo, tree);
7965 proto_item_set_len(item, offset-old_offset);
7972 /* IDL: struct ost_body { */
7973 /* IDL: struct obdo { */
7978 lustre_dissect_element_ost_body_oa(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7980 offset=lustre_dissect_struct_obdo(tvb,offset,pinfo,tree,hf_lustre_ost_body_oa);
7985 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_)
7987 proto_item *item = NULL;
7988 proto_tree *tree = NULL;
7994 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
7995 tree = proto_item_add_subtree(item, ett_lustre_ost_body);
7998 offset=lustre_dissect_element_ost_body_oa(tvb, offset, pinfo, tree);
8000 proto_item_set_len(item, offset-old_offset);
8006 /* TODO : find when this Structure appear on the wire */
8007 /* IDL: struct qunit_data { */
8008 /* IDL: uint32 qd_id; */
8009 /* IDL: uint32 qd_flags; */
8010 /* IDL: uint64 qd_count; */
8011 /* IDL: uint64 qd_qunit; */
8012 /* IDL: uint64 padding; */
8016 lustre_dissect_element_qunit_data_qd_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8018 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_qd_id);
8024 lustre_dissect_element_qunit_data_qd_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8026 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_qd_flags);
8032 lustre_dissect_element_qunit_data_qd_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8034 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qunit_data_qd_count);
8040 lustre_dissect_element_qunit_data_qd_qunit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8042 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qunit_data_qd_qunit);
8048 lustre_dissect_element_qunit_data_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8050 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qunit_data_padding);
8056 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_)
8058 proto_item *item = NULL;
8059 proto_tree *tree = NULL;
8067 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
8068 tree = proto_item_add_subtree(item, ett_lustre_qunit_data);
8071 offset=lustre_dissect_element_qunit_data_qd_id(tvb, offset, pinfo, tree);
8073 offset=lustre_dissect_element_qunit_data_qd_flags(tvb, offset, pinfo, tree);
8075 offset=lustre_dissect_element_qunit_data_qd_count(tvb, offset, pinfo, tree);
8077 offset=lustre_dissect_element_qunit_data_qd_qunit(tvb, offset, pinfo, tree);
8079 offset=lustre_dissect_element_qunit_data_padding(tvb, offset, pinfo, tree);
8082 proto_item_set_len(item, offset-old_offset);
8087 /* TODO : find when this Structure appear on the wire */
8088 /* IDL: struct qunit_data_old2 { */
8089 /* IDL: uint32 qd_id; */
8090 /* IDL: uint32 qd_flags; */
8091 /* IDL: uint64 qd_count; */
8095 lustre_dissect_element_qunit_data_old2_qd_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8097 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old2_qd_id);
8103 lustre_dissect_element_qunit_data_old2_qd_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8105 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old2_qd_flags);
8111 lustre_dissect_element_qunit_data_old2_qd_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8113 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old2_qd_count);
8119 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_)
8121 proto_item *item = NULL;
8122 proto_tree *tree = NULL;
8130 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
8131 tree = proto_item_add_subtree(item, ett_lustre_qunit_data_old2);
8134 offset=lustre_dissect_element_qunit_data_old2_qd_id(tvb, offset, pinfo, tree);
8136 offset=lustre_dissect_element_qunit_data_old2_qd_flags(tvb, offset, pinfo, tree);
8138 offset=lustre_dissect_element_qunit_data_old2_qd_count(tvb, offset, pinfo, tree);
8141 proto_item_set_len(item, offset-old_offset);
8146 /* TODO : find when this Structure appear on the wire */
8147 /* IDL: struct qunit_data_old { */
8148 /* IDL: uint32 qd_id; */
8149 /* IDL: uint32 qd_type; */
8150 /* IDL: uint32 qd_count; */
8151 /* IDL: uint32 qd_isblk; */
8155 lustre_dissect_element_qunit_data_old_qd_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8157 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old_qd_id);
8163 lustre_dissect_element_qunit_data_old_qd_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8165 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old_qd_type);
8171 lustre_dissect_element_qunit_data_old_qd_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8173 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old_qd_count);
8179 lustre_dissect_element_qunit_data_old_qd_isblk(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8181 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old_qd_isblk);
8187 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_)
8189 proto_item *item = NULL;
8190 proto_tree *tree = NULL;
8198 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
8199 tree = proto_item_add_subtree(item, ett_lustre_qunit_data_old);
8202 offset=lustre_dissect_element_qunit_data_old_qd_id(tvb, offset, pinfo, tree);
8204 offset=lustre_dissect_element_qunit_data_old_qd_type(tvb, offset, pinfo, tree);
8206 offset=lustre_dissect_element_qunit_data_old_qd_count(tvb, offset, pinfo, tree);
8208 offset=lustre_dissect_element_qunit_data_old_qd_isblk(tvb, offset, pinfo, tree);
8211 proto_item_set_len(item, offset-old_offset);
8217 lustre_dissect_struct_seq(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_ )
8219 offset=dissect_uint32(tvb, offset, pinfo, parent_tree, hf_index);
8220 /* Pad out to 8 bytes */
8221 offset=add_extra_padding(tvb,offset,pinfo,parent_tree);
8227 lustre_dissect_struct_seq_range(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_)
8229 proto_item *item = NULL;
8230 proto_tree *tree = NULL;
8236 item = proto_tree_add_item(parent_tree, hf_lustre_seq_range, tvb, offset, -1, TRUE);
8237 tree = proto_item_add_subtree(item, ett_lustre_seq_range);
8240 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_seq_range_start);
8241 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_seq_range_end);
8242 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_seq_range_index);
8243 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_seq_range_flags);
8246 proto_item_set_len(item, offset-old_offset);
8252 lustre_dissect_struct_fld_range(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_)
8254 proto_item *item = NULL;
8255 proto_tree *tree = NULL;
8261 item = proto_tree_add_item(parent_tree, hf_lustre_fld_range, tvb, offset, -1, TRUE);
8262 tree = proto_item_add_subtree(item, ett_lustre_fld_range);
8265 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_fld_range_start);
8266 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_fld_range_end);
8267 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_fld_range_index);
8268 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_fld_range_flags);
8271 proto_item_set_len(item, offset-old_offset);
8277 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_)
8279 proto_item *item = NULL;
8280 proto_tree *tree = NULL;
8286 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
8287 tree = proto_item_add_subtree(item, ett_lustre_mdt_ioepoch);
8290 offset=lustre_dissect_struct_handle_cookie(tvb, offset, pinfo, tree, hf_lustre_mdt_ioepoch_handle);
8291 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mdt_ioepoch_ioepoch);
8292 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_ioepoch_flags);
8293 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mdt_ioepoch_padding);
8296 proto_item_set_len(item, offset-old_offset);
8300 /* IDL: struct lustre_capa {
8301 * IDL: struct lu_fid lc_fid;
8302 * IDL: __u64 lc_opc;
8303 * IDL: __u64 lc_uid;
8304 * IDL: __u64 lc_gid;
8305 * IDL: __u32 lc_flags;
8306 * IDL: __u32 lc_keyid;
8307 * IDL: __u32 lc_timeout;
8308 * IDL: __u32 lc_expiry;
8309 * IDL: __u8 lc_hmac[64];
8310 * IDL: } __attribute__((packed));
8313 /** lustre_capa::lc_opc */
8315 /* CAPA_OPC_BODY_WRITE = 1<<0, **< write object data */
8316 /* CAPA_OPC_BODY_READ = 1<<1, **< read object data */
8317 /* CAPA_OPC_INDEX_LOOKUP = 1<<2, **< lookup object fid */
8318 /* CAPA_OPC_INDEX_INSERT = 1<<3, **< insert object fid */
8319 /* CAPA_OPC_INDEX_DELETE = 1<<4, **< delete object fid */
8320 /* CAPA_OPC_OSS_WRITE = 1<<5, **< write oss object data */
8321 /* CAPA_OPC_OSS_READ = 1<<6, **< read oss object data */
8322 /* CAPA_OPC_OSS_TRUNC = 1<<7, **< truncate oss object */
8323 /* CAPA_OPC_OSS_DESTROY = 1<<8, **< destroy oss object */
8324 /* CAPA_OPC_META_WRITE = 1<<9, **< write object meta data */
8325 /* CAPA_OPC_META_READ = 1<<10, **< read object meta data */
8329 lustre_dissect_element_capa_opc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_)
8331 /* TODO - pick apart bits */
8332 offset = dissect_uint64(tvb, offset, pinfo, parent_tree, hf_lustre_capa_opc);
8337 lustre_dissect_element_capa_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_)
8339 /* TODO - pick apart flags */
8340 offset=dissect_uint32(tvb,offset,pinfo,parent_tree,hf_lustre_capa_flags);
8345 lustre_dissect_struct_capa(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
8346 proto_tree *parent_tree _U_, int hf_index _U_, guint32 buf_num)
8348 proto_item *item = NULL;
8349 proto_tree *tree = NULL;
8355 data_len = LUSTRE_BUFFER_LEN(buf_num);
8360 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
8361 tree = proto_item_add_subtree(item, ett_lustre_capa);
8364 offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_capa_fid);
8366 offset=lustre_dissect_element_capa_opc(tvb,offset,pinfo,tree);
8368 offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_capa_uid);
8370 offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_capa_gid);
8372 offset=lustre_dissect_element_capa_flags(tvb,offset,pinfo,tree);
8374 offset=dissect_uint32(tvb,offset,pinfo,tree,hf_lustre_capa_keyid);
8376 offset=dissect_uint32(tvb,offset,pinfo,tree,hf_lustre_capa_timeout);
8378 offset=dissect_uint32(tvb,offset,pinfo,tree,hf_lustre_capa_expiry);
8380 offset=lustre_dissect_struct_hmac(tvb,offset,pinfo,tree, hf_lustre_capa_hmac, 64);
8383 proto_item_set_len(item, offset-old_offset);
8388 lustre_dissect_struct_lquota_id(tvbuff_t *tvb _U_, int offset _U_,
8389 packet_info *pinfo _U_,
8390 proto_tree *parent_tree _U_,
8393 proto_item *item = NULL;
8394 proto_tree *tree = NULL;
8400 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
8401 tree = proto_item_add_subtree(item, ett_lustre_lquota_id);
8404 offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_qid_fid);
8405 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qid_uid);
8406 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qid_gid);
8409 proto_item_set_len(item, offset-old_offset);
8414 lustre_dissect_struct_quota_body(tvbuff_t *tvb _U_, int offset _U_,
8415 packet_info *pinfo _U_,
8416 proto_tree *parent_tree _U_,
8417 int hf_index _U_, guint32 buf_num)
8419 proto_item *item = NULL;
8420 proto_tree *tree = NULL;
8426 data_len = LUSTRE_BUFFER_LEN(buf_num);
8431 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
8432 tree = proto_item_add_subtree(item, ett_lustre_quota_body);
8435 offset = lustre_dissect_struct_lu_fid(tvb, offset, pinfo, tree, hf_lustre_qb_fid);
8436 offset = lustre_dissect_struct_lquota_id(tvb, offset, pinfo, tree, hf_lustre_qb_id);
8437 offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qb_flags);
8438 offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qb_padding);
8439 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qb_count);
8440 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qb_usage);
8441 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qb_slv_ver);
8442 offset = lustre_dissect_struct_handle_cookie(tvb, offset, pinfo, tree,
8443 hf_lustre_qb_lockh);
8444 offset = lustre_dissect_struct_handle_cookie(tvb, offset, pinfo, tree,
8445 hf_lustre_qb_glb_lockh);
8446 offset = lustre_dissect_struct_element_data(tvb, offset, pinfo, tree,
8447 hf_lustre_qb_padding, 32);
8449 proto_item_set_len(item, offset-old_offset);
8454 lustre_dissect_struct_layout_intent(tvbuff_t *tvb _U_, int offset _U_,
8455 packet_info *pinfo _U_,
8456 proto_tree *parent_tree _U_,
8457 int hf_index _U_, guint32 buf_num)
8459 proto_item *item = NULL;
8460 proto_tree *tree = NULL;
8466 data_len = LUSTRE_BUFFER_LEN(buf_num);
8471 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
8472 tree = proto_item_add_subtree(item, ett_lustre_layout_intent);
8475 offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_layout_intent_opc);
8476 offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_layout_intent_flags);
8477 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_layout_intent_start);
8478 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_layout_intent_end);
8480 proto_item_set_len(item, offset-old_offset);
8485 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)
8487 proto_item *item = NULL;
8488 proto_tree *tree = NULL;
8494 data_len = LUSTRE_BUFFER_LEN(buf_num);
8499 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
8500 tree = proto_item_add_subtree(item, ett_lustre_acl);
8503 proto_tree_add_item(tree, hf_index, tvb, offset, data_len, TRUE);
8507 offset=add_extra_padding(tvb,offset,pinfo,tree);
8510 proto_item_set_len(item, offset-old_offset);
8515 /* struct close_data { */
8516 /* struct lustre_handle cd_handle; */
8517 /* struct lu_fid cd_fid; */
8518 /* __u64 cd_data_version; */
8519 /* __u64 cd_reserved[8]; */
8522 lustre_dissect_struct_close_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
8523 proto_tree *parent_tree _U_, int hf_index _U_, guint32 buf_num)
8525 proto_item *item = NULL;
8526 proto_tree *tree = NULL;
8532 data_len = LUSTRE_BUFFER_LEN(buf_num);
8537 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
8538 tree = proto_item_add_subtree(item, ett_lustre_close_data);
8541 offset=lustre_dissect_element_handle_cookie(tvb,offset,pinfo,tree);
8542 offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_close_fid);
8543 offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_close_data_ver);
8544 offset=lustre_dissect_struct_element_data(tvb,offset,pinfo,tree,hf_lustre_close_reserved,8*sizeof(guint64));
8547 proto_item_set_len(item, offset-old_offset);
8553 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)
8557 data_len = LUSTRE_BUFFER_LEN(buf_num);
8561 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_index);
8563 offset=add_extra_padding(tvb,offset,pinfo,tree);
8569 /* ------------------------------------------------------------------------- *
8572 * struct hsm_request {
8573 * __u32 hr_action; /\* enum hsm_user_action *\/
8574 * __u32 hr_archive_id; /\* archive id, used only with HUA_ARCHIVE *\/
8575 * __u64 hr_flags; /\* request flags *\/
8576 * __u32 hr_itemcount; /\* item count in hur_user_item vector *\/
8577 * __u32 hr_data_len;
8581 lustre_dissect_element_hsm_req_action(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_)
8583 offset=dissect_uint32(tvb,offset,pinfo,parent_tree,hf_lustre_hsm_req_action);
8588 lustre_dissect_element_hsm_req_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_)
8590 /* TODO - pick apart request flags - HSM_FORCE_ACTION, HSM_GHOST_COPY */
8591 offset=dissect_uint64(tvb,offset,pinfo,parent_tree,hf_lustre_hsm_req_flags);
8596 lustre_dissect_struct_hsm_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
8597 proto_tree *parent_tree _U_, int hf_index _U_, guint32 buf_num)
8599 proto_item *item = NULL;
8600 proto_tree *tree = NULL;
8607 data_len = LUSTRE_BUFFER_LEN(buf_num);
8612 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
8613 tree = proto_item_add_subtree(item, ett_lustre_hsm_request);
8616 action=tvb_get_letohl(tvb,offset);
8617 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(action, lustre_hsm_user_action_t_vals, "Unknown cr_opc"));
8619 offset=lustre_dissect_element_hsm_req_action(tvb,offset,pinfo,tree);
8621 offset=dissect_uint32(tvb,offset,pinfo,tree,hf_lustre_hsm_req_archive_id);
8623 offset=lustre_dissect_element_hsm_req_flags(tvb,offset,pinfo,tree);
8625 offset=dissect_uint32(tvb,offset,pinfo,tree,hf_lustre_hsm_req_itemcount);
8627 offset=dissect_uint32(tvb,offset,pinfo,tree,hf_lustre_hsm_req_data_len);
8630 proto_item_set_len(item, offset-old_offset);
8634 /* struct hsm_extent { */
8639 lustre_dissect_struct_hsm_extent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
8640 proto_tree *parent_tree _U_, int hf_index _U_)
8642 proto_item *item = NULL;
8643 proto_tree *tree = NULL;
8649 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
8650 tree = proto_item_add_subtree(item, ett_lustre_hsm_extent);
8653 offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_hsm_extent_offset);
8655 offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_hsm_extent_length);
8658 proto_item_set_len(item, offset-old_offset);
8662 /* struct hsm_user_item { */
8663 /* lustre_fid hui_fid; */
8664 /* struct hsm_extent hui_extent; */
8665 /* } __attribute__((packed)); */
8667 lustre_dissect_struct_hsm_user_item(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
8668 proto_tree *parent_tree _U_, int hf_index _U_, guint32 buf_num)
8670 proto_item *item = NULL;
8671 proto_tree *tree = NULL;
8677 data_len = LUSTRE_BUFFER_LEN(buf_num);
8682 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
8683 tree = proto_item_add_subtree(item, ett_lustre_hsm_user_item);
8686 offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_hsm_user_item_fid);
8688 offset=lustre_dissect_struct_hsm_extent(tvb,offset,pinfo,tree,hf_lustre_hsm_user_item_extent);
8691 proto_item_set_len(item, offset-old_offset);
8695 /* struct hsm_progress_kernel { */
8696 /* lustre_fid hpk_fid; */
8697 /* __u64 hpk_cookie; */
8698 /* struct hsm_extent hpk_extent; */
8699 /* __u16 hpk_flags; */
8700 /* __u16 hpk_errval; */
8701 /* __u32 hpk_padding1; */
8702 /* __u64 hpk_data_version; */
8703 /* __u64 hpk_padding2; */
8704 /* } __attribute__((packed)); */
8706 lustre_dissect_struct_hsm_progress(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
8707 proto_tree *parent_tree _U_, int hf_index _U_, guint32 buf_num)
8709 proto_item *item = NULL;
8710 proto_tree *tree = NULL;
8716 data_len = LUSTRE_BUFFER_LEN(buf_num);
8721 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
8722 tree = proto_item_add_subtree(item, ett_lustre_hsm_progress);
8725 offset=lustre_dissect_struct_lu_fid(tvb,offset,pinfo,tree,hf_lustre_hsm_prog_fid);
8727 offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_hsm_prog_cookie);
8729 offset=lustre_dissect_struct_hsm_extent(tvb,offset,pinfo,tree,hf_lustre_hsm_prog_extent);
8731 offset=dissect_uint16(tvb,offset,pinfo,tree,hf_lustre_hsm_prog_flags);
8733 offset=dissect_uint16(tvb,offset,pinfo,tree,hf_lustre_hsm_prog_errval);
8735 offset=dissect_uint32(tvb,offset,pinfo,tree,hf_lustre_extra_padding);
8737 offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_hsm_prog_data_ver);
8739 offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_extra_padding);
8742 proto_item_set_len(item, offset-old_offset);
8747 lustre_dissect_struct_element_states(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
8748 proto_tree *parent_tree _U_, int hf_index _U_)
8750 offset=dissect_uint32(tvb,offset,pinfo,parent_tree,hf_index);
8754 /* struct hsm_user_state { */
8755 /* ** Current HSM states, from enum hsm_states. */
8756 /* __u32 hus_states; */
8757 /* __u32 hus_archive_id; */
8758 /* ** The current undergoing action, if there is one */
8759 /* __u32 hus_in_progress_state; */
8760 /* __u32 hus_in_progress_action; */
8761 /* struct hsm_extent hus_in_progress_location; */
8762 /* char hus_extended_info[]; */
8765 lustre_dissect_struct_hsm_user_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
8766 proto_tree *parent_tree _U_, int hf_index _U_, guint32 buf_num)
8768 proto_item *item = NULL;
8769 proto_tree *tree = NULL;
8775 data_len = LUSTRE_BUFFER_LEN(buf_num);
8780 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
8781 tree = proto_item_add_subtree(item, ett_lustre_hsm_user_state);
8784 offset=lustre_dissect_struct_element_states(tvb,offset,pinfo,tree,hf_lustre_hsm_us_states);
8785 offset=dissect_uint32(tvb,offset,pinfo,tree,hf_lustre_hsm_us_archive_id);
8786 offset=dissect_uint32(tvb,offset,pinfo,tree,hf_lustre_hsm_us_in_prog_state);
8787 offset=dissect_uint32(tvb,offset,pinfo,tree,hf_lustre_hsm_us_in_prog_action);
8788 offset=lustre_dissect_struct_hsm_extent(tvb,offset,pinfo,tree,hf_lustre_hsm_us_in_prog_location);
8789 offset=lustre_dissect_struct_element_data(tvb,offset,pinfo,tree,hf_lustre_hsm_us_ext_info,
8790 (data_len-(offset-old_offset)));
8793 proto_item_set_len(item, offset-old_offset);
8798 /* ------------------------------------------------------------------------- */
8800 * the length of the string is the current buflen
8801 * @tvb the packet buff
8802 * @offset the current offset
8805 * @hf_index : the corresponding header field
8806 * @buf_num : the corresponding bufnumber of the string (we use it to
8807 * determine the string length), must respect : 0<bufnum<=bufmax_in_paquet
8810 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)
8812 proto_item *item = NULL;
8816 old_offset = offset;
8818 string_len = LUSTRE_BUFFER_LEN(buf_num);
8819 if (string_len == 0)
8822 proto_tree_add_item(parent_tree, hf_index, tvb,
8823 offset, string_len, TRUE);
8824 if (string_len > 1) {
8825 #ifdef WIRESHARK_COMPAT
8826 display_info_fstr(parent_tree, pinfo->cinfo, COL_INFO,
8828 (const gchar *)tvb_get_string(tvb, offset,
8831 display_info_fstr(parent_tree, pinfo->cinfo, COL_INFO,
8833 (const gchar *)tvb_get_string_enc(wmem_packet_scope(),
8840 offset += string_len;
8841 proto_item_set_len(item, offset-old_offset);
8842 offset = add_extra_padding(tvb, offset, pinfo, parent_tree);
8848 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)
8850 proto_item *item = NULL;
8856 string_len = LUSTRE_BUFFER_LEN(buf_num);
8860 proto_tree_add_item(parent_tree, hf_index, tvb, offset, string_len, TRUE);
8863 proto_item_set_len(item, offset-old_offset);
8864 offset=add_extra_padding(tvb,offset,pinfo,parent_tree); /* after a string we must be aligned to 8 bytes. */
8868 /* ------------------------------------------------------------------------- */
8871 /* Process REINT opcode requests */
8872 static int reint_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_)
8876 opcode = tvb_get_letohl(tvb,offset);
8880 /* 2.x+ [rec_setattr][capa1][mdt_epoch][eadata][cookie_data][ldlm_request] */
8881 /* old? [rec_setattr][ldlm_request] */
8882 offset=lustre_dissect_struct_mdt_rec_setattr(tvb, offset, pinfo, tree,
8883 hf_lustre_mdt_rec_setattr);
8884 if (LUSTRE_BUFCOUNT > 2) {
8885 offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree,
8886 hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
8887 if (LUSTRE_BUFFER_LEN(LUSTRE_REQ_REC_OFF+2) > 0)
8888 offset=lustre_dissect_struct_mdt_ioepoch(tvb, offset, pinfo, tree,
8889 hf_lustre_mdt_ioepoch);
8890 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree,
8891 hf_lustre_mds_xattr_eadata,
8892 LUSTRE_REQ_REC_OFF+3);
8893 if (LUSTRE_BUFFER_LEN(LUSTRE_REQ_REC_OFF+4) > 0)
8894 offset=lustre_dissect_struct_llog_cookie(tvb,offset,pinfo,tree,hf_lustre_llog_cookie);
8896 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree,
8897 hf_lustre_ldlm_request);
8900 /* [rec_create][filename][tgt.. Ã 0 pour l'instant][ldlm_request] */
8901 offset=lustre_dissect_struct_mdt_rec_create(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create);
8902 offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
8903 offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_REQ_REC_OFF+2);
8904 /* REINT_CREATE_SLAVE / SYM / RMT_ACL */
8905 if (LUSTRE_BUFCOUNT > 4) {
8906 /* for CREATE_SYM this is actually name of target - encoded in mdt_rec_create.cr_mode */
8907 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_REQ_REC_OFF+3);
8908 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree,
8909 hf_lustre_ldlm_request);
8913 /*[mdt_rec_link][filename][ldlm_req] */
8914 offset=lustre_dissect_struct_mdt_rec_link(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_link);
8915 offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
8916 offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+2);
8917 offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_reint_old_name, LUSTRE_REQ_REC_OFF+3);
8918 if (LUSTRE_BUFFER_LEN(LUSTRE_REQ_REC_OFF+4) > 0)
8919 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
8922 /* reint_unlink_client: [mdt_rec_unlink][capa1][filename][ldlm_req] */
8923 offset=lustre_dissect_struct_mdt_rec_unlink(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_unlink);
8924 offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
8925 if (LUSTRE_BUFFER_LEN(LUSTRE_REQ_REC_OFF+2) == 112) {
8926 /* TODO : ugly .. but for now we have to do this */
8927 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl);
8930 offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_REQ_REC_OFF+2);
8931 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
8934 case REINT_RENAME: /*mds_rename_unpack : [mdt_rec_rename][filename source][filename target_name][ldlm_request] */
8935 offset=lustre_dissect_struct_mdt_rec_rename(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_rename);
8936 offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
8937 offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+2);
8938 offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_reint_old_name, LUSTRE_REQ_REC_OFF+3);
8939 offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_reint_new_name, LUSTRE_REQ_REC_OFF+4);
8940 if (LUSTRE_BUFFER_LEN(LUSTRE_REQ_REC_OFF+5) > 0)
8941 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
8943 case REINT_OPEN: /* [rec_create][filename][eadata] */
8944 offset=lustre_dissect_struct_mdt_rec_create(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create);
8945 offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_REQ_REC_OFF+1);
8946 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_eadata, LUSTRE_REQ_REC_OFF+2);
8948 case REINT_SETXATTR:
8949 /* 2.x+ [rec_setxattr][capa1][name][eadata] */
8950 /* old? [rec_setxattr][ldlm_request] */
8951 offset=lustre_dissect_struct_mdt_rec_setxattr(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setxattr);
8952 if (LUSTRE_BUFCOUNT > 2) {
8953 offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree,
8954 hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
8955 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_name, LUSTRE_REQ_REC_OFF+2);
8956 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_eadata,
8957 LUSTRE_REQ_REC_OFF+3);
8958 if (LUSTRE_BUFFER_LEN(LUSTRE_REQ_REC_OFF+4) > 0)
8959 offset=lustre_dissect_struct_llog_cookie(tvb,offset,pinfo,tree,hf_lustre_llog_cookie);
8960 } else if (LUSTRE_BUFCOUNT == 2)
8961 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree,
8962 hf_lustre_ldlm_request);
8970 /* dissect a connect message */
8972 lustre_dissect_generic_connect(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8974 /*TODO : add a cuuid and target uid */
8975 offset = lustre_dissect_struct_obd_uuid(tvb, offset, pinfo, tree,
8976 hf_lustre_obd_uuid);
8977 offset = lustre_dissect_struct_obd_uuid(tvb, offset, pinfo, tree,
8978 hf_lustre_obd_uuid);
8979 offset = lustre_dissect_struct_handle_cookie(tvb, offset, pinfo, tree,
8980 hf_lustre_mdt_body_handle);
8981 offset = lustre_dissect_struct_obd_connect_data(tvb, offset, pinfo,
8982 tree, hf_lustre_obd_connect_data, 4);
8987 lustre_dissect_struct_lu_ladvise(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
8988 proto_tree *parent_tree _U_, int hf_index _U_, guint32 buf_num)
8990 proto_item *item = NULL;
8991 proto_tree *tree = NULL;
8997 data_len = LUSTRE_BUFFER_LEN(buf_num);
9002 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
9003 tree = proto_item_add_subtree(item, ett_lustre_ladvise);
9006 offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_lu_ladvise_lla_start);
9008 offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_lu_ladvise_lla_end);
9010 offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_lu_ladvise_lla_advice);
9012 offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_lu_ladvise_lla_padding);
9015 proto_item_set_len(item, offset-old_offset);
9020 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)
9025 case OST_REPLY: /* obsolete so nothing */
9028 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
9029 if (pb_type == PTL_RPC_MSG_REQUEST)
9030 offset=lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
9033 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
9034 if (pb_type == PTL_RPC_MSG_REQUEST)
9035 offset=lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
9037 case OST_READ: /* [OST_BODY][obd_ioobj][niobuf_remote] for request, [OST_BODY] for reply */
9038 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
9039 if(pb_type==PTL_RPC_MSG_REQUEST){
9040 offset=lustre_dissect_struct_obd_ioobj(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj);
9041 offset=lustre_dissect_struct_niobuf_remote(tvb,offset,pinfo, tree, hf_lustre_niobuf_remote);
9045 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree,
9046 hf_lustre_ost_body);
9047 if(pb_type==PTL_RPC_MSG_REQUEST) {
9048 for (i = 0; i < (LUSTRE_BUFFER_LEN(LUSTRE_REQ_REC_OFF+1))/24; i++)
9049 offset=lustre_dissect_struct_obd_ioobj(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj);
9050 offset=lustre_dissect_struct_niobuf_remote(tvb,offset,pinfo, tree, hf_lustre_obd_ioobj);
9052 if(pb_type==PTL_RPC_MSG_REPLY) { /* niocount *[uint32], but niocount is in request message, so
9053 we use the bufcount */
9054 for (i = 0; i < LUSTRE_BUFCOUNT-2; i++) /* -2 because we have already dissect 2 buffers : ptl + ost */
9055 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_nio);
9056 offset=add_extra_padding(tvb, offset, pinfo, tree);
9060 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
9061 if (pb_type == PTL_RPC_MSG_REQUEST)
9062 offset=lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
9065 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
9066 if(pb_type==PTL_RPC_MSG_REQUEST) {/* [ost_body][ldlm_req][capa] */
9067 if ( LUSTRE_BUFFER_LEN(LUSTRE_REQ_REC_OFF +1) != 0)
9068 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request);
9069 offset=lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REPLY_REC_OFF+2);
9073 if(pb_type==PTL_RPC_MSG_REQUEST) /* [key] */
9074 offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_ost_key, LUSTRE_REQ_REC_OFF);
9075 if (pb_type==PTL_RPC_MSG_REPLY)
9076 offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_ost_val, LUSTRE_REQ_REC_OFF); /* val */
9079 if (pb_type==PTL_RPC_MSG_REQUEST) /* [targetuuid][clientuuid][lustre_handle][obd_connect_data] */
9080 offset=lustre_dissect_generic_connect(tvb,offset,pinfo,tree);
9081 if (pb_type==PTL_RPC_MSG_REPLY)
9082 offset = lustre_dissect_struct_obd_connect_data(tvb, offset, pinfo,
9083 tree, hf_lustre_obd_connect_data, 1);
9085 case OST_DISCONNECT: /* [nothing] */
9087 case OST_PUNCH: /* [ost_body] */
9088 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
9089 if (pb_type == PTL_RPC_MSG_REQUEST)
9090 offset=lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
9092 case OST_OPEN: /* [nothing] in the code maybee obsolete */
9094 case OST_CLOSE: /* [nothing] in the code maybee obsolete */
9096 case OST_STATFS: /* [obd_statfs] */
9097 if (pb_type==PTL_RPC_MSG_REPLY)
9098 offset=lustre_dissect_struct_obd_statfs(tvb, offset, pinfo, tree, hf_lustre_obd_statfs) ;
9101 /*[ost_body] in both case */
9102 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
9103 if (pb_type == PTL_RPC_MSG_REQUEST)
9104 offset=lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
9107 if(pb_type==PTL_RPC_MSG_REQUEST)
9109 offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_ost_key, LUSTRE_REQ_REC_OFF); /* key */
9110 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_val, LUSTRE_REQ_REC_OFF+1); /* val */
9112 /* if Key = "evict_by_nid" --> need to be process.. TODO */
9114 case OST_QUOTACHECK:
9115 if(pb_type==PTL_RPC_MSG_REQUEST)
9116 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl) ;
9117 /* nothing in reply */
9120 /*[obd_quotactl in both case]*/
9121 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl) ;
9122 case OST_QUOTA_ADJUST_QUNIT:
9123 /* [quota_adjust_qunit] in both case ? */
9124 offset=lustre_dissect_struct_quota_adjust_qunit(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit) ;
9126 /*[ost_body] in both case */
9127 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
9128 if (pb_type == PTL_RPC_MSG_REQUEST) {
9129 offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
9130 offset=lustre_dissect_struct_lu_ladvise(tvb, offset, pinfo, tree, hf_lustre_lu_ladvise, LUSTRE_REQ_REC_OFF+2);
9138 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)
9142 case MDS_DISCONNECT:
9146 /*request: [mds body]*/
9147 /*reply: [mds body][capa] */
9148 offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body) ;
9149 if (pb_type == PTL_RPC_MSG_REPLY)
9150 offset=lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REPLY_REC_OFF+1);
9153 if(pb_type==PTL_RPC_MSG_REQUEST)
9155 offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body) ;
9156 /*if(reply) : [nothing]*/
9159 /*request: [mds body][capa][xattr name]*/
9160 /*reply: [mds body][eadata] - ommited on error */
9161 offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body) ;
9162 if(pb_type==PTL_RPC_MSG_REQUEST) {
9163 offset=lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REPLY_REC_OFF+1);
9164 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_name, LUSTRE_REQ_REC_OFF+2);
9166 if (pb_type == PTL_RPC_MSG_REPLY)
9167 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_eadata, LUSTRE_REQ_REC_OFF+1);
9170 offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body);
9171 if (pb_type == PTL_RPC_MSG_REPLY) { /* [mdt_md][acl][capa1][capa2] */
9172 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree,
9173 hf_lustre_mds_md_data,
9174 LUSTRE_REPLY_REC_OFF+1);
9175 offset=lustre_dissect_struct_acl(tvb, offset, pinfo, tree,
9176 hf_lustre_acl, LUSTRE_REPLY_REC_OFF+3);
9177 offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree,
9179 LUSTRE_REPLY_REC_OFF+4);
9180 offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree,
9182 LUSTRE_REPLY_REC_OFF+5);
9185 case MDS_GETATTR_NAME:
9186 if(pb_type==PTL_RPC_MSG_REQUEST)
9188 offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body) ;
9189 /*[nothing in reply]*/
9191 case MDS_DONE_WRITING:
9193 offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body) ;
9195 case MDS_PIN: /* repbody.. */
9197 offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body) ;
9201 offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body) ;
9205 if(pb_type==PTL_RPC_MSG_REQUEST)
9206 { /* [mdt_ioepoch][rec_reint][capa1] */
9207 offset=lustre_dissect_struct_mdt_ioepoch(tvb, offset, pinfo, tree, hf_lustre_mdt_ioepoch);
9209 if(LUSTRE_BUFFER_LEN(LUSTRE_REQ_REC_OFF+1) > 0)
9210 offset=lustre_dissect_struct_mdt_rec_setattr(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_setattr);
9212 offset=lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+2);
9213 offset=lustre_dissect_struct_close_data(tvb,offset,pinfo,tree, hf_lustre_close_data, LUSTRE_REQ_REC_OFF+3);
9215 if(pb_type==PTL_RPC_MSG_REPLY)
9216 { /* [mdt_body][md][cookie][capa1][capa2] */
9217 offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body) ;
9218 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_mds_md_data, LUSTRE_REPLY_REC_OFF+1);
9219 if(LUSTRE_BUFFER_LEN(LUSTRE_REPLY_REC_OFF+2) > 0)
9220 offset=lustre_dissect_struct_llog_cookie(tvb,offset,pinfo,tree,hf_lustre_llog_cookie);
9221 offset=lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+3);
9222 offset=lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+4);
9227 if(pb_type==PTL_RPC_MSG_REPLY)
9229 offset=lustre_dissect_struct_obd_statfs(tvb, offset, pinfo, tree, hf_lustre_obd_statfs) ;
9230 /*in request : [nothing]*/
9234 /* [mdt_body] but with some different interpration, need to modify the hf : TODO */
9235 offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body) ;
9239 /* the structure depend on the intent_opcode */
9240 if(pb_type==PTL_RPC_MSG_REQUEST)
9241 offset=reint_opcode_process(tvb, offset, pinfo, tree);
9243 if(pb_type==PTL_RPC_MSG_REPLY) {
9244 /* [mdt_body][mdt_md][??][capa1][capa2] */
9245 offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body) ;
9247 offset=lustre_dissect_struct_lov_mds_md(tvb,offset,pinfo,tree,hf_lustre_lov_mds_md_v1, LUSTRE_REPLY_REC_OFF+1);
9249 if(LUSTRE_BUFFER_LEN(LUSTRE_REPLY_REC_OFF+2) > 0)
9250 /* open : ...[ACL]...
9251 * unlink, rename : ...[log_cookies]... */
9252 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree,
9253 hf_lustre_mds_xattr_eadata,
9254 LUSTRE_REPLY_REC_OFF+2);
9256 lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REPLY_REC_OFF+3);
9257 lustre_dissect_struct_capa(tvb,offset,pinfo,tree, hf_lustre_capa, LUSTRE_REPLY_REC_OFF+4);
9261 if(pb_type==PTL_RPC_MSG_REQUEST){
9263 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_key,LUSTRE_REQ_REC_OFF); /* key */
9264 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_val, LUSTRE_REQ_REC_OFF+1); /* val */
9265 //offset=add_extra_padding(tvb,offset,pinfo,tree);
9267 /*nothing en reply*/
9269 case MDS_QUOTACHECK:
9270 /* [obd_quotactl] */
9271 if(pb_type==PTL_RPC_MSG_REQUEST)
9272 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl) ;
9275 /* [obd_quotactl] in both case*/
9276 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl) ;
9279 if (pb_type==PTL_RPC_MSG_REQUEST) /* [targetuuid][clientuuid][lustre_handle][obd_connect_data] */
9280 offset=lustre_dissect_generic_connect(tvb,offset,pinfo,tree);
9281 if (pb_type==PTL_RPC_MSG_REPLY || pb_type == PTL_RPC_MSG_ERR) /*[obd_connect_data]*/
9282 offset = lustre_dissect_struct_obd_connect_data(tvb, offset, pinfo,
9283 tree, hf_lustre_obd_connect_data, 1);
9285 case MDS_HSM_REQUEST:
9286 /* [mdt_body][hsm_request][array of hsm_user_item][generic_data] */
9287 if (pb_type==PTL_RPC_MSG_REQUEST) {
9288 offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body);
9289 offset=lustre_dissect_struct_hsm_request(tvb, offset, pinfo, tree, hf_lustre_hsm_request, LUSTRE_REQ_REC_OFF+1);
9290 for(i = LUSTRE_REQ_REC_OFF+2; i < LUSTRE_BUFCOUNT-1; ++i) {
9291 offset=lustre_dissect_struct_hsm_user_item(tvb, offset, pinfo, tree, hf_lustre_hsm_user_item, i);
9293 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_generic_data, LUSTRE_REQ_REC_OFF+3);
9296 case MDS_HSM_PROGRESS:
9297 /* [mdt_body][hsm_progress] */
9298 if (pb_type==PTL_RPC_MSG_REQUEST) {
9299 offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body);
9300 offset=lustre_dissect_struct_hsm_progress(tvb, offset, pinfo, tree, hf_lustre_hsm_request, LUSTRE_REQ_REC_OFF+1);
9303 case MDS_HSM_STATE_GET:
9304 offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body);
9305 if (pb_type==PTL_RPC_MSG_REPLY)
9306 /* ...[hsm_user_state] */
9307 offset=lustre_dissect_struct_hsm_user_state(tvb, offset, pinfo, tree, hf_lustre_hsm_state_get, LUSTRE_REQ_REC_OFF+1);
9310 if (pb_type == PTL_RPC_MSG_REQUEST) {
9311 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_mdt_getinfo_key, LUSTRE_REQ_REC_OFF);
9312 offset=lustre_dissect_element_mds_getinfo_vallen(tvb, offset, pinfo, tree, hf_lustre_mdt_getinfo_vallen, LUSTRE_REQ_REC_OFF+1);
9314 if (pb_type == PTL_RPC_MSG_REPLY)
9315 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_mdt_getinfo_data, LUSTRE_REQ_REC_OFF);
9326 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)
9330 /* [ldlm_request] if we have one more buffer it's
9331 * [intent_opcode] and the opcode give us the corresponding
9332 * intent structure [intent] */
9333 if (pb_type==PTL_RPC_MSG_REQUEST) {
9334 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree,
9335 hf_lustre_ldlm_request);
9336 if (LUSTRE_BUFCOUNT>=3)
9337 offset=lustre_dissect_struct_ldlm_intent(tvb, offset, pinfo, tree,
9338 hf_lustre_ldlm_intent);
9340 if (pb_type==PTL_RPC_MSG_REPLY) {
9343 offset=lustre_dissect_struct_ldlm_reply(tvb, offset, pinfo, tree,
9344 hf_lustre_ldlm_reply,
9346 /* check if we're done processing */
9347 if (LUSTRE_BUFCOUNT <= 2)
9350 if (LUSTRE_BUFFER_LEN(LUSTRE_DLM_REPLY_REC_OFF) == 40) {
9351 /* TODO :this code need to be check and test, the
9352 * lustre corresponding code isn't explicit, so not
9353 * sure to have this buffer, but in example it works
9356 offset=lustre_dissect_struct_ost_lvb(tvb, offset, pinfo, tree,
9358 LUSTRE_DLM_REPLY_REC_OFF);
9359 } else if ((ldlm_type == LDLM_EXTENT) || (LUSTRE_BUFCOUNT == 3)) {
9361 magic=tvb_get_letohl(tvb, offset);
9362 if (magic == LOV_MAGIC_V1)
9363 offset = lustre_dissect_struct_lov_mds_md_v1(tvb, offset,
9364 pinfo, tree, hf_lustre_lov_mds_md_v1);
9366 offset = lustre_dissect_struct_ost_lvb(tvb, offset, pinfo,
9367 tree, hf_lustre_ost_lvb,
9368 LUSTRE_DLM_REPLY_REC_OFF);
9372 if (LUSTRE_BUFFER_LEN(LUSTRE_DLM_REPLY_REC_OFF) > 0)
9373 offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree,
9374 hf_lustre_mdt_body);
9375 offset=lustre_dissect_struct_lov_mds_md(tvb,offset,pinfo,tree,hf_lustre_lov_mds_md_v1,
9376 LUSTRE_DLM_INTENT_REC_OFF);
9378 /* ldlm_intent_server : ACL */
9379 offset=lustre_dissect_struct_acl(tvb, offset, pinfo, tree,
9380 hf_lustre_acl, LUSTRE_DLM_INTENT_REC_OFF+1);
9382 /* ldlm_intent_open_server : [capa1][capa2] */
9383 offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree,
9384 hf_lustre_capa, LUSTRE_DLM_INTENT_REC_OFF+2);
9385 offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree,
9386 hf_lustre_capa, LUSTRE_DLM_INTENT_REC_OFF+3);
9391 if(pb_type==PTL_RPC_MSG_REQUEST) /*[ldlm_request]*/
9392 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
9393 if(pb_type==PTL_RPC_MSG_REPLY) /*[ldlm_reply]*/
9394 offset=lustre_dissect_struct_ldlm_reply(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply, NULL) ;
9398 if(pb_type==PTL_RPC_MSG_REQUEST) /*[ldlm_request]*/
9399 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
9402 case LDLM_BL_CALLBACK:
9403 if(pb_type==PTL_RPC_MSG_REQUEST) /*[ldlm_request]*/
9404 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
9407 case LDLM_CP_CALLBACK:
9408 if(pb_type==PTL_RPC_MSG_REQUEST){
9409 /*[ldlm_request] if the third buffer exist we have [lvb data] so it's [ost_lvb] : TODO :
9411 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
9412 offset = lustre_dissect_struct_ost_lvb(tvb, offset, pinfo, tree,
9414 LUSTRE_DLM_REPLY_REC_OFF);
9416 /*reply : [nothing] */
9419 case LDLM_GL_CALLBACK:
9420 if(pb_type==PTL_RPC_MSG_REQUEST) { /*[ldlm_request] [lvb (for gl_desc)]*/
9421 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
9422 offset = lustre_dissect_struct_ost_lvb(tvb, offset, pinfo, tree,
9424 LUSTRE_REQ_REC_OFF+1);
9426 if(pb_type==PTL_RPC_MSG_REPLY) /* [ost_lvb] */
9427 offset=lustre_dissect_struct_ost_lvb(tvb, offset, pinfo, tree,
9429 LUSTRE_REPLY_REC_OFF);
9433 /* ? [key-string][value-data] */
9434 if(pb_type==PTL_RPC_MSG_REQUEST) {
9435 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ldlm_key, LUSTRE_REQ_REC_OFF); /* key */
9436 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_ldlm_value, LUSTRE_REQ_REC_OFF+1); /* value */
9446 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)
9450 if (pb_type==PTL_RPC_MSG_REQUEST) /* [targetuuid][clientuuid][lustre_handle][obd_connect_data] */
9451 offset = lustre_dissect_generic_connect(tvb, offset, pinfo, tree);
9452 if (pb_type==PTL_RPC_MSG_REPLY) /*[obd_connect_data]*/
9453 offset = lustre_dissect_struct_obd_connect_data(tvb, offset, pinfo,
9454 tree, hf_lustre_obd_connect_data, 1);
9456 case MGS_DISCONNECT :
9459 case MGS_EXCEPTION : /* node died, etc. */
9462 case MGS_TARGET_REG:
9463 /*[mgs_target_info], mgs_handler.c mgs_handle_target_reg() called whenever a target startup*/
9464 offset=lustre_dissect_struct_mgs_target_info(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info);
9466 case MGS_TARGET_DEL:
9470 /*[mgs_send_param], mgs_set_info_rpc()*/
9471 offset=lustre_dissect_struct_mgs_send_param(tvb,offset,pinfo,tree,hf_lustre_mgs_send_param);
9473 case MGS_CONFIG_READ:
9474 if (pb_type==PTL_RPC_MSG_REQUEST) /* [config_body] */
9475 offset=lustre_dissect_struct_mgs_config_body(tvb,offset,pinfo,tree,hf_lustre_mgs_config_body);
9476 if (pb_type==PTL_RPC_MSG_REPLY) /* [config_res] */
9477 offset=lustre_dissect_struct_mgs_config_res(tvb,offset,pinfo,tree,hf_lustre_mgs_config_res);
9486 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)
9492 case OBD_LOG_CANCEL:
9495 case OBD_QC_CALLBACK:
9496 if(pb_type==PTL_RPC_MSG_REQUEST)
9497 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl);
9498 /*if (request) : [nothing]*/
9507 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)
9510 case LLOG_ORIGIN_HANDLE_CREATE : /* in handler.c */
9511 /*[llogd_body] (reply and request)*/
9512 offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
9513 if(pb_type==PTL_RPC_MSG_REQUEST) /* [filename] */
9514 if (LUSTRE_BUFCOUNT>2)
9515 offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_llogd_name,
9516 LUSTRE_REQ_REC_OFF+1);
9518 case LLOG_ORIGIN_HANDLE_NEXT_BLOCK :/* in handler.c */
9519 /* [llogd_body][eadata]
9520 * the size of second buf is LLOG_CHKUNK_SIZE, so it's maybee only bulk data */
9521 offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
9522 if(pb_type==PTL_RPC_MSG_REPLY)
9523 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_llogd_chunk,
9524 LUSTRE_REPLY_REC_OFF+1);
9526 case LLOG_ORIGIN_HANDLE_READ_HEADER:/* in handler.c */
9527 if(pb_type==PTL_RPC_MSG_REQUEST){
9528 /* [llogd_body][llog_log_hdr] */
9529 offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
9530 if(LUSTRE_BUFCOUNT>2)
9531 offset=lustre_dissect_struct_llog_log_hdr(tvb, offset, pinfo, tree,
9532 hf_lustre_llogd_log_hdr);
9534 if(pb_type==PTL_RPC_MSG_REPLY) /* [llog_log_hdr] */
9535 offset=lustre_dissect_struct_llog_log_hdr(tvb, offset, pinfo, tree,
9536 hf_lustre_llogd_log_hdr);
9538 case LLOG_ORIGIN_HANDLE_WRITE_REC : /* I think this is obsolete */
9541 case LLOG_ORIGIN_HANDLE_CLOSE :/* handler.c */
9544 case LLOG_ORIGIN_CONNECT : /* ost_handler.c */
9546 case LLOG_CATINFO : /*in handler.c */
9547 if(pb_type==PTL_RPC_MSG_REQUEST){
9548 /* [keyword][if keyword=config [char*] else [nothing]] */
9549 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_llogd_keyword,
9550 LUSTRE_REQ_REC_OFF);
9551 /* if (keyword == "config") */
9553 #ifdef WIRESHARK_COMPAT
9554 (const char *)tvb_get_string(tvb, LUSTRE_REQ_REC_OFF,
9556 LUSTRE_BUFLEN_OFF + 4 *
9557 LUSTRE_REQ_REC_OFF)),
9559 (const char *)tvb_get_string_enc(wmem_packet_scope(), tvb,
9562 LUSTRE_BUFLEN_OFF + 4 *
9563 LUSTRE_REQ_REC_OFF),
9567 offset = lustre_dissect_element_string(tvb, offset, pinfo, tree,
9568 hf_lustre_llogd_client,
9569 LUSTRE_REQ_REC_OFF+1);
9571 if(pb_type==PTL_RPC_MSG_REPLY)
9572 /*[buf] sizeof = llog_chunk_size*/
9573 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_llogd_chunk,
9574 LUSTRE_REPLY_REC_OFF + 1 );
9575 /* TODO TODO : check if it's note a catid */
9577 case LLOG_ORIGIN_HANDLE_PREV_BLOCK : /* in handler.c */
9578 /* [llogd_body] in both case */
9579 offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
9580 if(pb_type==PTL_RPC_MSG_REPLY)
9581 /*[buf] size of llog_chunk_size*/
9582 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_llogd_chunk,
9583 LUSTRE_REPLY_REC_OFF + 1 );
9585 case LLOG_ORIGIN_HANDLE_DESTROY : /* in handler.c */
9586 /*[llogd_body] in both case*/
9587 offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
9597 lustre_seq_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
9598 proto_tree * tree _U_, guint32 opc _U_, guint32 pb_type)
9602 if (pb_type == PTL_RPC_MSG_REQUEST)
9603 offset = lustre_dissect_struct_seq(tvb, offset, pinfo,
9604 tree, hf_lustre_seq_opc);
9605 offset = lustre_dissect_struct_seq_range(tvb, offset,
9610 g_print("error: SEQ Opcode: %d unknown\n", opc);
9611 col_append_str(pinfo->cinfo, COL_PROTOCOL, "BUG");
9619 lustre_fld_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
9620 proto_tree * tree _U_, guint32 opc _U_, guint32 pb_type)
9624 if (pb_type == PTL_RPC_MSG_REQUEST)
9625 offset = lustre_dissect_struct_seq(tvb, offset, pinfo,
9626 tree, hf_lustre_fld_opc);
9627 offset = lustre_dissect_struct_seq_range(tvb, offset,
9632 g_print("error: FLD Opcode: %d unknown\n", opc);
9633 col_append_str(pinfo->cinfo, COL_PROTOCOL, "BUG");
9641 /* process lustre opcode :
9642 check if opcode is in range_opcode, and call the corresponding opcode process function */
9644 lustre_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint32 opc _U_, guint32 pb_type)
9646 /* No more buffers to process */
9647 if (LUSTRE_BUFCOUNT == 1)
9650 if (opc <= OST_LAST_OPC) /* OST opcodes */
9651 offset=lustre_ost_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
9653 if ( (opc >= MDS_FIRST_OPC) && (opc < MDS_LAST_OPC )) /* MDS opcodes */
9654 offset=lustre_mds_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
9656 if ( (opc >= LDLM_FIRST_OPC) && (opc < LDLM_LAST_OPC) ) /*LDLM Opcodes*/
9657 offset=lustre_ldlm_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
9659 if( (opc>= MGS_FIRST_OPC) && (opc <= MGS_LAST_OPC)) /* MGS Opcodes */
9660 offset=lustre_mgs_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
9662 if( (opc>= OBD_FIRST_OPC) && (opc<=OBD_LAST_OPC)) /* ODB Opcodes */
9663 offset=lustre_odb_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
9665 if( (opc>=LLOG_FIRST_OPC) && (opc<=LLOG_LAST_OPC)) /* LLOG Opcodes */
9666 offset=lustre_llog_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
9668 if( (opc >= SEQ_FIRST_OPC) && (opc <= SEQ_LAST_OPC) ) /* SEQ Opcodes */
9669 offset=lustre_seq_opcode_process(tvb, offset, pinfo, tree, opc, pb_type);
9671 if( (opc >= FLD_FIRST_OPC) && (opc <= FLD_LAST_OPC) ) /* FLD Opcodes */
9672 offset=lustre_fld_opcode_process(tvb, offset, pinfo, tree, opc, pb_type);
9677 /* ----------------------------------------------- */
9678 /* add an extra padding to be aligned to 8bytes */
9680 add_extra_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_)
9682 guint32 padding_len;
9684 padding_len = (8- offset%8)%8;
9686 proto_tree_add_item(tree, hf_lustre_extra_padding , tvb, offset, padding_len, TRUE);
9687 offset+=padding_len;
9691 /* ----------------------------------------------- */
9694 ldlm_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
9695 proto_tree * tree _U_, guint64 intent_opc _U_)
9697 /* all corresponding code is in mdc_locks.c in function mdc_enqueue() */
9698 /* if 0x0003 we have CREAT + OPEN
9700 if (intent_opc & IT_OPEN) {
9701 /* mdc_intent_open_pack(), d'où [opcode][mdc_rec_create][capa1][capa2][name][eada] */
9702 offset=lustre_dissect_struct_mdt_rec_create(tvb, offset, pinfo, tree,
9703 hf_lustre_mdt_rec_create);
9704 offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree,
9705 hf_lustre_reint_name,
9706 LUSTRE_DLM_INTENT_REC_OFF+3);
9707 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree,
9708 hf_lustre_mds_xattr_eadata,
9709 LUSTRE_DLM_INTENT_REC_OFF+4);
9712 if (intent_opc & IT_UNLINK){
9713 /* mdc_intent_unlink_pack(), d'où [opcode][mdt_rec_unlink][capa][name] */
9714 offset=lustre_dissect_struct_mdt_rec_unlink(tvb, offset, pinfo, tree,
9715 hf_lustre_mdt_rec_unlink);
9716 offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree, hf_lustre_capa,
9717 LUSTRE_DLM_INTENT_REC_OFF+1);
9718 offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree,
9719 hf_lustre_reint_name,
9720 LUSTRE_DLM_INTENT_REC_OFF+2);
9722 if (intent_opc & IT_GETATTR){
9723 /* mdc_intent_lookup_pack, d'où [mdt_body][capa][name] */
9724 offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body) ;
9725 offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree, hf_lustre_capa,
9726 LUSTRE_DLM_INTENT_REC_OFF+1);
9727 offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_reint_name,
9728 LUSTRE_DLM_INTENT_REC_OFF+2);
9731 if (intent_opc & IT_LOOKUP){
9732 /* mdc_intent_lookup_pack, d'où [mdt_body][capa][name] */
9733 offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body);
9734 offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree, hf_lustre_capa,
9735 LUSTRE_DLM_INTENT_REC_OFF+1);
9736 offset=lustre_dissect_element_filename(tvb, offset, pinfo, tree, hf_lustre_reint_name,
9737 LUSTRE_DLM_INTENT_REC_OFF+2);
9739 if (intent_opc & IT_LAYOUT) {
9740 /* [layout_intent][eadata] */
9741 offset = lustre_dissect_struct_layout_intent(tvb, offset,
9742 pinfo, tree, hf_lustre_layout_intent,
9743 LUSTRE_DLM_INTENT_REC_OFF);
9744 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree,
9745 hf_lustre_mds_xattr_eadata,
9746 LUSTRE_DLM_INTENT_REC_OFF+1);
9748 if (intent_opc & IT_QUOTA_DQACQ) {
9749 offset = lustre_dissect_struct_quota_body(tvb, offset,
9750 pinfo, tree, hf_lustre_qb,
9751 LUSTRE_DLM_INTENT_REC_OFF);
9758 /* ----------------------------------------------- */
9759 /* function to test if the packet is entirely dissected add BUG in PROTOCOL COL when it's not*/
9761 sanity_check(tvbuff_t *tvb, packet_info *pinfo, guint32 val_offset _U_)
9763 guint32 somme_buflen = 0 ;
9766 /* magic_number = tvb_get_letohl(tvb, 8); */
9768 for (i=0;i<LUSTRE_BUFCOUNT;i++)
9769 somme_buflen += tvb_get_letohl(tvb, LUSTRE_BUFLEN_OFF +
9770 4 * i ) + (8- tvb_get_letohl(tvb, LUSTRE_BUFLEN_OFF+4 * i)%8)%8; /* we add the
9778 if (val_offset != somme_buflen)
9779 col_append_str(pinfo->cinfo, COL_PROTOCOL, "BUG");
9783 /* IDL: struct lustre_msg_v1 { */
9784 /* IDL: struct lustre_handle { */
9785 /* IDL: } lm_handle; */
9786 /* IDL: uint32 lm_magic; */
9787 /* IDL: uint32 lm_type; */
9788 /* IDL: uint32 lm_version; */
9789 /* IDL: uint32 lm_opc; */
9790 /* IDL: uint64 lm_last_xid; */
9791 /* IDL: uint64 lm_last_committed; */
9792 /* IDL: uint64 lm_transno; */
9793 /* IDL: uint32 lm_status; */
9794 /* IDL: uint32 lm_flags; */
9795 /* IDL: uint32 lm_conn_cnt; */
9796 /* IDL: uint32 lm_bufcount; */
9797 /* IDL: uint32 lm_buflens[0]; */
9802 lustre_dissect_element_msg_v1_lm_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
9804 /*TODO : replace with a v1 handle*/
9805 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_lustre_msg_v1_lm_handle);
9810 lustre_dissect_element_msg_v1_lm_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
9812 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_magic);
9818 lustre_dissect_element_msg_v1_lm_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
9820 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_type);
9826 lustre_dissect_element_msg_v1_lm_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
9828 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_version);
9834 lustre_dissect_element_msg_v1_lm_opc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
9836 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_opc);
9842 lustre_dissect_element_msg_v1_lm_last_xid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
9844 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_last_xid);
9850 lustre_dissect_element_msg_v1_lm_last_committed(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
9852 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_last_committed);
9858 lustre_dissect_element_msg_v1_lm_transno(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
9860 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_transno);
9866 lustre_dissect_element_msg_v1_lm_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
9868 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_status);
9874 lustre_dissect_element_msg_v1_lm_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
9876 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_flags);
9882 lustre_dissect_element_msg_v1_lm_conn_cnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
9884 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_conn_cnt);
9890 lustre_dissect_element_msg_v1_lm_bufcount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
9892 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_bufcount);
9898 lustre_dissect_element_msg_v1_lm_buflens_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
9900 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_buflens);
9906 lustre_dissect_element_msg_v1_lm_buflens(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
9909 gboolean extra_padding ;
9912 bufcount=tvb_get_letohl(tvb, offset-4); /* TODO : replace with a macro */
9914 if (bufcount & 1) /* we add an extra padding if bufcount is odd */
9919 for (i=0;i<bufcount;i++) {
9920 offset=lustre_dissect_element_msg_v1_lm_buflens_(tvb, offset, pinfo, tree);
9924 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
9933 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_)
9935 proto_item *item = NULL;
9936 proto_tree *tree = NULL;
9938 guint32 opc ; /* opcode */
9939 guint32 pb_type; /* type : {request, reply, error} */
9945 // if (parent_tree) {
9946 // item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
9947 // tree = proto_item_add_subtree(item, ett_lustre_lustre_msg_v1);
9950 offset=lustre_dissect_element_msg_v1_lm_handle(tvb, offset, pinfo, tree);
9952 offset=lustre_dissect_element_msg_v1_lm_magic(tvb, offset, pinfo, tree);
9954 pb_type = tvb_get_letohl(tvb, offset);
9955 offset=lustre_dissect_element_msg_v1_lm_type(tvb, offset, pinfo, tree);
9957 offset=lustre_dissect_element_msg_v1_lm_version(tvb, offset, pinfo, tree);
9958 opc = tvb_get_letohl(tvb, offset);
9959 offset=lustre_dissect_element_msg_v1_lm_opc(tvb, offset, pinfo, tree);
9961 offset=lustre_dissect_element_msg_v1_lm_last_xid(tvb, offset, pinfo, tree);
9963 offset=lustre_dissect_element_msg_v1_lm_last_committed(tvb, offset, pinfo, tree);
9965 offset=lustre_dissect_element_msg_v1_lm_transno(tvb, offset, pinfo, tree);
9967 offset=lustre_dissect_element_msg_v1_lm_status(tvb, offset, pinfo, tree);
9969 offset=lustre_dissect_element_msg_v1_lm_flags(tvb, offset, pinfo, tree);
9971 offset=lustre_dissect_element_msg_v1_lm_conn_cnt(tvb, offset, pinfo, tree);
9973 offset=lustre_dissect_element_msg_v1_lm_bufcount(tvb, offset, pinfo, tree);
9975 offset=lustre_dissect_element_msg_v1_lm_buflens(tvb, offset, pinfo, tree);
9978 proto_item_set_len(item, offset-old_offset);
9980 /* display some nice infos */
9981 display_info_str(parent_tree, pinfo->cinfo, COL_INFO, val_to_str(opc, lustre_op_codes, "Unknown"));
9982 display_info_fstr(parent_tree, pinfo->cinfo,COL_INFO, " %s ", val_to_str(pb_type, lustre_LMTypes, "Unknown"));
9984 offset=lustre_opcode_process(tvb, offset, pinfo, tree, opc, pb_type);
9989 /* IDL: struct ptlrpc_body { */
9990 /* IDL: struct lustre_handle { */
9991 /* IDL: } pb_handle; */
9992 /* IDL: uint32 pb_type; */
9993 /* IDL: uint32 pb_version; */
9994 /* IDL: uint32 pb_opc; */
9995 /* IDL: uint32 pb_status; */
9996 /* IDL: uint64 pb_last_xid; */
9997 /* IDL: uint64 pb_last_seen; */
9998 /* IDL: uint64 pb_last_committed; */
9999 /* IDL: uint64 pb_transno; */
10000 /* IDL: uint32 pb_flags; */
10001 /* IDL: uint32 pb_op_flags; */
10002 /* IDL: uint32 pb_conn_cnt; */
10003 /* IDL: uint32 pb_timeout; */
10004 /* IDL: uint32 pb_service_time; */
10005 /* IDL: uint32 pb_limit; */
10006 /* IDL: uint64 pb_slv; */
10010 lustre_dissect_element_ptlrpc_body_pb_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10012 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_ptlrpc_body_pb_handle);
10018 lustre_dissect_element_ptlrpc_body_pb_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10020 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_type);
10026 lustre_dissect_element_ptlrpc_body_pb_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10028 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_version);
10034 lustre_dissect_element_ptlrpc_body_pb_opc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10036 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_opc);
10042 lustre_dissect_element_ptlrpc_body_pb_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10044 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_status);
10050 lustre_dissect_element_ptlrpc_body_pb_last_xid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10052 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_last_xid);
10058 lustre_dissect_element_ptlrpc_body_pb_last_seen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10060 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_last_seen);
10066 lustre_dissect_element_ptlrpc_body_pb_last_committed(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10068 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_last_committed);
10074 lustre_dissect_element_ptlrpc_body_pb_transno(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10076 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_transno);
10082 lustre_dissect_element_ptlrpc_body_pb_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10084 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_flags);
10090 lustre_dissect_element_ptlrpc_body_pb_op_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10092 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_op_flags);
10098 lustre_dissect_element_ptlrpc_body_pb_conn_cnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10100 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_conn_cnt);
10106 lustre_dissect_element_ptlrpc_body_pb_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10108 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_timeout);
10114 lustre_dissect_element_ptlrpc_body_pb_service_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10116 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_service_time);
10122 lustre_dissect_element_ptlrpc_body_pb_limit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10124 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_limit);
10130 lustre_dissect_element_ptlrpc_body_pb_slv(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10132 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_slv);
10138 lustre_dissect_element_ptlrpc_body_pb_pre_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10140 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_pre_version);
10146 lustre_dissect_element_ptlrpc_body_pb_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10148 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_padding);
10154 lustre_dissect_element_ptlrpc_body_pb_jobid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_)
10157 /* the lenght of the string is 32 bytes max, with \0 inside */
10158 proto_tree_add_item(parent_tree, hf_lustre_ptlrpc_body_pb_jobid, tvb, offset, 32, TRUE);
10166 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_ )
10168 proto_item *item = NULL;
10169 proto_tree *tree = NULL;
10171 guint32 opc, pb_type, pb_version;
10176 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
10177 tree = proto_item_add_subtree(item, ett_lustre_ptlrpc_body);
10180 offset=lustre_dissect_element_ptlrpc_body_pb_handle(tvb, offset, pinfo, tree);
10182 pb_type = tvb_get_letohl(tvb, offset);
10183 //g_print("msg_v2_lm_type_offset = %d \n" , offset) ;
10185 offset=lustre_dissect_element_ptlrpc_body_pb_type(tvb, offset, pinfo, tree);
10187 pb_version = tvb_get_letohl(tvb, offset) & ~LUSTRE_VERSION_MASK;
10188 //g_print("msg_v2_version_offset %d : version == %d \n", offset, pb_version);
10189 offset=lustre_dissect_element_ptlrpc_body_pb_version(tvb, offset, pinfo, tree);
10191 // g_print("msg_v2_opcode_offset %d \n", offset);
10192 opc = tvb_get_letohl(tvb, offset);
10193 offset=lustre_dissect_element_ptlrpc_body_pb_opc(tvb, offset, pinfo, tree);
10195 offset=lustre_dissect_element_ptlrpc_body_pb_status(tvb, offset, pinfo, tree);
10197 offset=lustre_dissect_element_ptlrpc_body_pb_last_xid(tvb, offset, pinfo, tree);
10199 offset=lustre_dissect_element_ptlrpc_body_pb_last_seen(tvb, offset, pinfo, tree);
10201 offset=lustre_dissect_element_ptlrpc_body_pb_last_committed(tvb, offset, pinfo, tree);
10203 offset=lustre_dissect_element_ptlrpc_body_pb_transno(tvb, offset, pinfo, tree);
10205 offset=lustre_dissect_element_ptlrpc_body_pb_flags(tvb, offset, pinfo, tree);
10207 offset=lustre_dissect_element_ptlrpc_body_pb_op_flags(tvb, offset, pinfo, tree);
10209 offset=lustre_dissect_element_ptlrpc_body_pb_conn_cnt(tvb, offset, pinfo, tree);
10211 offset=lustre_dissect_element_ptlrpc_body_pb_timeout(tvb, offset, pinfo, tree);
10213 offset=lustre_dissect_element_ptlrpc_body_pb_service_time(tvb, offset, pinfo, tree);
10215 offset=lustre_dissect_element_ptlrpc_body_pb_limit(tvb, offset, pinfo, tree);
10217 offset=lustre_dissect_element_ptlrpc_body_pb_slv(tvb, offset, pinfo, tree);
10219 /* pb_pre_versions */
10220 for(i = 0; i < 4; ++i) {
10221 offset=lustre_dissect_element_ptlrpc_body_pb_pre_version(tvb, offset, pinfo, tree);
10224 for(i = 0; i < 4; ++i) {
10225 offset=lustre_dissect_element_ptlrpc_body_pb_padding(tvb, offset, pinfo, tree);
10228 if (pb_version == LUSTRE_PTLRPC_MSG_VERSION && offset-old_offset < buf_len) {
10229 offset=lustre_dissect_element_ptlrpc_body_pb_jobid(tvb, offset, pinfo, tree);
10232 if (offset-old_offset != buf_len) {
10233 g_print("ptlbody offset-old:%d buf_len:%d\n",
10234 offset-old_offset, buf_len);
10235 col_append_str(pinfo->cinfo, COL_PROTOCOL, "BUG");
10238 proto_item_set_len(item, offset-old_offset);
10240 /* display some nice infos */
10241 display_info_str(parent_tree, pinfo->cinfo, COL_INFO, val_to_str(opc, lustre_op_codes, "Unknown"));
10242 display_info_fstr(parent_tree, pinfo->cinfo,COL_INFO, " %s ", val_to_str(pb_type, lustre_LMTypes, "Unknown"));
10244 /* on utilise parent_tree pour bien distinguer les différents buffers (relatifs à bufcount + buflen), il s'agit d'un choix de présentation */
10245 offset=lustre_opcode_process(tvb, offset, pinfo, parent_tree, opc, pb_type);
10247 sanity_check(tvb,pinfo,offset-old_offset);
10253 /* IDL: struct lustre_msg_v2 { */
10254 /* IDL: uint32 lm_bufcount; */
10255 /* IDL: uint32 lm_secflvr; */
10256 /* IDL: uint32 lm_magic; */
10257 /* IDL: uint32 lm_repsize; */
10258 /* IDL: uint32 lm_cksum; */
10259 /* IDL: uint32 lm_flags; */
10260 /* IDL: uint32 lm_padding_2; */
10261 /* IDL: uint32 lm_padding_3; */
10262 /* IDL: uint32 lm_buflens[0]; */
10266 lustre_dissect_element_msg_v2_lm_bufcount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10268 proto_tree_add_item(tree, hf_lustre_lustre_msg_v2_lm_bufcount, tvb, offset, 4, TRUE);
10274 lustre_dissect_element_msg_v2_lm_secflvr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10276 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_secflvr);
10282 lustre_dissect_element_msg_v2_lm_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10284 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_magic);
10290 lustre_dissect_element_msg_v2_lm_repsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10292 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_repsize);
10298 lustre_dissect_element_msg_v2_lm_cksum(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10300 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_cksum);
10306 lustre_dissect_element_msg_v2_lm_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10308 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_flags);
10314 lustre_dissect_element_msg_v2_lm_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10316 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_padding_2);
10322 lustre_dissect_element_msg_v2_lm_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10324 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_padding_3);
10332 lustre_dissect_element_msg_v2_lm_buflens_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
10334 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_buflens);
10340 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_)
10342 proto_item *item = NULL;
10343 proto_tree *tree = NULL;
10347 guint32 buf_len_offset;
10348 guint32 current_buf_len ;
10349 gboolean extra_padding ;
10353 /* to get a light display */
10355 // if (parent_tree) {
10356 // item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
10357 // tree = proto_item_add_subtree(item, ett_lustre_lustre_msg_v2);
10360 bufcount = tvb_get_letohl(tvb,offset);
10361 offset=lustre_dissect_element_msg_v2_lm_bufcount(tvb, offset, pinfo, tree);
10363 offset=lustre_dissect_element_msg_v2_lm_secflvr(tvb, offset, pinfo, tree);
10365 offset=lustre_dissect_element_msg_v2_lm_magic(tvb, offset, pinfo, tree);
10367 offset=lustre_dissect_element_msg_v2_lm_repsize(tvb, offset, pinfo, tree);
10369 offset=lustre_dissect_element_msg_v2_lm_cksum(tvb, offset, pinfo, tree);
10371 offset=lustre_dissect_element_msg_v2_lm_flags(tvb, offset, pinfo, tree);
10373 offset=lustre_dissect_element_msg_v2_lm_padding_2(tvb, offset, pinfo, tree);
10375 offset=lustre_dissect_element_msg_v2_lm_padding_3(tvb, offset, pinfo, tree);
10379 if (bufcount & 1) /* we add an extra padding if bufcount is odd */
10380 extra_padding = 1 ;
10382 extra_padding = 0 ;
10384 buf_len_offset=offset ;
10385 for (i=0;i<bufcount;i++) {
10386 offset=lustre_dissect_element_msg_v2_lm_buflens_(tvb, offset, pinfo, tree);
10391 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
10394 current_buf_len = tvb_get_letohl(tvb, buf_len_offset);
10395 offset=lustre_dissect_struct_ptlrpc_body(tvb,offset, pinfo, tree, hf_lustre_ptlrpc_body_pb, current_buf_len);
10397 proto_item_set_len(item, offset-old_offset);
10404 dissect_lustre(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
10406 col_set_str(pinfo->cinfo, COL_PROTOCOL, "Lustre");
10409 col_set_str(pinfo->cinfo, COL_INFO, "");
10410 /* guint32 magic_number ; */
10411 /* magic_number = tvb_get_letohl(tvb, LUSTRE_MAGIC_OFFSET); */
10412 /* switch (magic_number)*/
10414 /* case LUSTRE_MSG_MAGIC_V1:*/
10415 /* col_append_fstr(pinfo->cinfo, COL_INFO, " V1 ");*/
10417 /* case LUSTRE_MSG_MAGIC_V2:*/
10418 /* col_append_fstr(pinfo->cinfo, COL_INFO, " V2 ");*/
10426 guint32 magic_number ;
10427 guint32 offset = 0;
10428 proto_item *ti = NULL ;
10429 proto_tree * lustre_tree = NULL ;
10431 ti = proto_tree_add_item(tree,proto_lustre,tvb,0,-1,FALSE);
10432 lustre_tree = proto_item_add_subtree(ti,ett_lustre);
10434 magic_number = tvb_get_letohl(tvb, 8);
10436 switch (magic_number){
10437 case LUSTRE_MSG_MAGIC_V1:
10438 /* put some nice info*/
10439 proto_item_append_text(lustre_tree, " V1 ");
10440 offset=lustre_dissect_struct_msg_v1(tvb, offset, pinfo, lustre_tree, proto_lustre ) ;
10442 case LUSTRE_MSG_MAGIC_V2:
10443 /* put some nice info*/
10444 proto_item_append_text(lustre_tree, " V2 ");
10445 offset=lustre_dissect_struct_msg_v2(tvb, offset, pinfo, lustre_tree, proto_lustre ) ;
10453 void proto_register_dcerpc_lustre(void)
10455 static hf_register_info hf[] = {
10456 { &hf_lustre_mdt_body,
10457 { "mdt body", "lustre.mdt_body", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
10458 { &hf_lustre_mdt_body_fid1,
10459 { "Fid1", "lustre.mdt_body.fid1", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
10460 { &hf_lustre_mdt_body_fid2,
10461 { "Fid2", "lustre.mdt_body.fid2", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
10462 { &hf_lustre_mdt_body_handle,
10463 { "Handle", "lustre.mdt_body.handle", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
10464 { &hf_lustre_mdt_body_valid,
10465 { "Valid", "lustre.mdt_body.valid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10466 { &hf_lustre_mdt_body_size,
10467 { "Size", "lustre.mdt_body.size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10468 { &hf_lustre_mdt_body_mtime,
10469 { "Mtime", "lustre.mdt_body.mtime",FT_ABSOLUTE_TIME,
10470 ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
10471 { &hf_lustre_mdt_body_atime,
10472 { "Atime", "lustre.mdt_body.atime",FT_ABSOLUTE_TIME,
10473 ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
10474 { &hf_lustre_mdt_body_ctime,
10475 { "Ctime", "lustre.mdt_body.ctime",FT_ABSOLUTE_TIME,
10476 ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
10477 { &hf_lustre_mdt_body_blocks,
10478 { "Blocks", "lustre.mdt_body.blocks", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10479 { &hf_lustre_mdt_body_ioepoch,
10480 { "Ioepoch", "lustre.mdt_body.ioepoch", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10481 { &hf_lustre_mdt_body_ino,
10482 { "Ino", "lustre.mdt_body.ino", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10483 { &hf_lustre_mdt_body_fsuid,
10484 { "Fsuid", "lustre.mdt_body.fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10485 { &hf_lustre_mdt_body_fsgid,
10486 { "Fsgid", "lustre.mdt_body.fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10487 { &hf_lustre_mdt_body_capability,
10488 { "Capability", "lustre.mdt_body.capability", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10489 { &hf_lustre_mdt_body_mode,
10490 { "Mode", "lustre.mdt_body.mode", FT_UINT32, BASE_OCT, NULL, 0, "", HFILL }},
10491 { &hf_lustre_mdt_body_uid,
10492 { "Uid", "lustre.mdt_body.uid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10493 { &hf_lustre_mdt_body_gid,
10494 { "Gid", "lustre.mdt_body.gid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10495 { &hf_lustre_mdt_body_flags,
10496 { "Flags", "lustre.mdt_body.flags", FT_UINT32, BASE_HEX, VALS(lustre_mds_flags_vals) , 0, "", HFILL }},
10497 { &hf_lustre_mdt_body_rdev,
10498 { "Rdev", "lustre.mdt_body.rdev", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10499 { &hf_lustre_mdt_body_nlink,
10500 { "Nlink", "lustre.mdt_body.nlink", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10501 { &hf_lustre_mdt_body_generation,
10502 { "Generation", "lustre.mdt_body.generation", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10503 { &hf_lustre_mdt_body_suppgid,
10504 { "Suppgid", "lustre.mdt_body.suppgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10505 { &hf_lustre_mdt_body_eadatasize,
10506 { "Eadatasize", "lustre.mdt_body.eadatasize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10507 { &hf_lustre_mdt_body_aclsize,
10508 { "Aclsize", "lustre.mdt_body.aclsize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10509 { &hf_lustre_mdt_body_max_mdsize,
10510 { "Max Mdsize", "lustre.mdt_body.max_mdsize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10511 { &hf_lustre_mdt_body_max_cookiesize,
10512 { "Max Cookiesize", "lustre.mdt_body.max_cookiesize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10513 { &hf_lustre_mdt_body_uid_h,
10514 { "Uid H", "lustre.mdt_body.uid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10515 { &hf_lustre_mdt_body_gid_h,
10516 { "Gid H", "lustre.mdt_body.gid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10517 { &hf_lustre_mdt_body_padding_5,
10518 { "Padding 5", "lustre.mdt_body.padding_5", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10519 { &hf_lustre_mdt_body_padding_6,
10520 { "Padding 6", "lustre.mdt_body.padding_6", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10521 { &hf_lustre_mdt_body_padding_7,
10522 { "Padding 7", "lustre.mdt_body.padding_7", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10523 { &hf_lustre_mdt_body_padding_8,
10524 { "Padding 8", "lustre.mdt_body.padding_8", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10525 { &hf_lustre_mdt_body_padding_9,
10526 { "Padding 9", "lustre.mdt_body.padding_9", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10527 { &hf_lustre_mdt_body_padding_10,
10528 { "Padding 10", "lustre.mdt_body.padding_10", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10530 { &hf_lustre_mdt_rec_setattr,
10531 { "mdt rec setattr", "lustre.mdt_rec_setattr", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
10532 { &hf_lustre_mdt_rec_setattr_sa_opcode,
10533 { "Sa Opcode", "lustre.mdt_rec_setattr.sa_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_t_vals), 0, "", HFILL }},
10534 { &hf_lustre_mdt_rec_setattr_sa_cap,
10535 { "Sa Cap", "lustre.mdt_rec_setattr.sa_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10536 { &hf_lustre_mdt_rec_setattr_sa_fsuid,
10537 { "Sa Fsuid", "lustre.mdt_rec_setattr.sa_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10538 { &hf_lustre_mdt_rec_setattr_sa_fsuid_h,
10539 { "Sa Fsuid H", "lustre.mdt_rec_setattr.sa_fsuid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10540 { &hf_lustre_mdt_rec_setattr_sa_fsgid,
10541 { "Sa Fsgid", "lustre.mdt_rec_setattr.sa_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10542 { &hf_lustre_mdt_rec_setattr_sa_fsgid_h,
10543 { "Sa Fsgid H", "lustre.mdt_rec_setattr.sa_fsgid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10544 { &hf_lustre_mdt_rec_setattr_sa_suppgid,
10545 { "Sa Suppgid", "lustre.mdt_rec_setattr.sa_suppgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10546 { &hf_lustre_mdt_rec_setattr_sa_suppgid_h,
10547 { "Sa Suppgid H", "lustre.mdt_rec_setattr.sa_suppgid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10548 { &hf_lustre_mdt_rec_setattr_sa_padding_1,
10549 { "Sa Padding 1", "lustre.mdt_rec_setattr.sa_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10550 { &hf_lustre_mdt_rec_setattr_sa_padding_1_h,
10551 { "Sa Padding 1 H", "lustre.mdt_rec_setattr.sa_padding_1_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10552 { &hf_lustre_mdt_rec_setattr_sa_fid,
10553 { "Sa Fid", "lustre.mdt_rec_setattr.sa_fid", FT_NONE,
10554 BASE_NONE, NULL, 0, "", HFILL } },
10555 { &hf_lustre_mdt_rec_setattr_sa_valid,
10556 { "Sa Valid", "lustre.mdt_rec_setattr.sa_valid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10557 { &hf_lustre_mdt_rec_setattr_sa_uid,
10558 { "Sa Uid", "lustre.mdt_rec_setattr.sa_uid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10559 { &hf_lustre_mdt_rec_setattr_sa_gid,
10560 { "Sa Gid", "lustre.mdt_rec_setattr.sa_gid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10561 { &hf_lustre_mdt_rec_setattr_sa_size,
10562 { "Sa Size", "lustre.mdt_rec_setattr.sa_size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10563 { &hf_lustre_mdt_rec_setattr_sa_blocks,
10564 { "Sa Blocks", "lustre.mdt_rec_setattr.sa_blocks", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10565 { &hf_lustre_mdt_rec_setattr_sa_mtime,
10566 { "Sa Mtime", "lustre.mdt_rec_setattr.sa_mtime",FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
10567 { &hf_lustre_mdt_rec_setattr_sa_atime,
10568 { "Sa Atime", "lustre.mdt_rec_setattr.sa_atime",FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
10569 { &hf_lustre_mdt_rec_setattr_sa_ctime,
10570 { "Sa Ctime", "lustre.mdt_rec_setattr.sa_ctime",FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
10571 { &hf_lustre_mdt_rec_setattr_sa_attr_flags,
10572 { "Sa Attr Flags", "lustre.mdt_rec_setattr.sa_attr_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
10573 { &hf_lustre_mdt_rec_setattr_sa_mode,
10574 { "Sa Mode", "lustre.mdt_rec_setattr.sa_mode", FT_UINT32, BASE_OCT, NULL, 0, "", HFILL }},
10575 { &hf_lustre_mdt_rec_setattr_sa_padding_2,
10576 { "Sa Padding 2", "lustre.mdt_rec_setattr.sa_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10577 { &hf_lustre_mdt_rec_setattr_sa_projid,
10578 { "Sa Projid", "lustre.mdt_rec_setattr.sa_projid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10579 { &hf_lustre_mdt_rec_setattr_sa_padding_4,
10580 { "Sa Padding 4", "lustre.mdt_rec_setattr.sa_padding_4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10581 { &hf_lustre_mdt_rec_setattr_sa_padding_5,
10582 { "Sa Padding 5", "lustre.mdt_rec_setattr.sa_padding_5", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10584 { &hf_lustre_mdt_rec_create,
10585 { "mdt rec create", "lustre.mdt_rec_create", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
10586 { &hf_lustre_mdt_rec_create_cr_opcode,
10587 { "Cr Opcode", "lustre.mdt_rec_create.cr_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_t_vals), 0, "", HFILL }},
10588 { &hf_lustre_mdt_rec_create_cr_cap,
10589 { "Cr Cap", "lustre.mdt_rec_create.cr_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10590 { &hf_lustre_mdt_rec_create_cr_fsuid,
10591 { "Cr Fsuid", "lustre.mdt_rec_create.cr_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10592 { &hf_lustre_mdt_rec_create_cr_fsuid_h,
10593 { "Cr Fsuid H", "lustre.mdt_rec_create.cr_fsuid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10594 { &hf_lustre_mdt_rec_create_cr_fsgid,
10595 { "Cr Fsgid", "lustre.mdt_rec_create.cr_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10596 { &hf_lustre_mdt_rec_create_cr_fsgid_h,
10597 { "Cr Fsgid H", "lustre.mdt_rec_create.cr_fsgid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10598 { &hf_lustre_mdt_rec_create_cr_suppgid1,
10599 { "Cr Suppgid1", "lustre.mdt_rec_create.cr_suppgid1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10600 { &hf_lustre_mdt_rec_create_cr_suppgid1_h,
10601 { "Cr Suppgid1 H", "lustre.mdt_rec_create.cr_suppgid1_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10602 { &hf_lustre_mdt_rec_create_cr_suppgid2,
10603 { "Cr Suppgid2", "lustre.mdt_rec_create.cr_suppgid2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10604 { &hf_lustre_mdt_rec_create_cr_suppgid2_h,
10605 { "Cr Suppgid2 H", "lustre.mdt_rec_create.cr_suppgid2_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10606 { &hf_lustre_mdt_rec_create_cr_fid1,
10607 { "Cr Fid1", "lustre.mdt_rec_create.cr_fid1", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
10608 { &hf_lustre_mdt_rec_create_cr_fid2,
10609 { "Cr Fid2", "lustre.mdt_rec_create.cr_fid2", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
10610 { &hf_lustre_mdt_rec_create_cr_old_handle,
10611 { "Cr Old Handle", "lustre.mdt_rec_create.cr_old_handle", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
10612 { &hf_lustre_mdt_rec_create_cr_time,
10613 { "Cr Time", "lustre.mdt_rec_create.cr_time",FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
10614 { &hf_lustre_mdt_rec_create_cr_rdev,
10615 { "Cr Rdev", "lustre.mdt_rec_create.cr_rdev", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10616 { &hf_lustre_mdt_rec_create_cr_ioepoch,
10617 { "Cr Ioepoch", "lustre.mdt_rec_create.cr_ioepoch", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10618 { &hf_lustre_mdt_rec_create_cr_padding_1,
10619 { "Cr Padding 1", "lustre.mdt_rec_create.cr_padding_1", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10620 { &hf_lustre_mdt_rec_create_cr_mode,
10621 { "Cr Mode", "lustre.mdt_rec_create.cr_mode", FT_UINT32, BASE_OCT, NULL, 0, "", HFILL }},
10622 { &hf_lustre_mdt_rec_create_cr_bias,
10623 { "Cr Bias", "lustre.mdt_rec_create.cr_bias", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10624 { &hf_lustre_mdt_rec_create_cr_flags_l,
10625 { "Cr Flags L", "lustre.mdt_rec_create.cr_flags_l", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10626 { &hf_lustre_mdt_rec_create_cr_flags_h,
10627 { "Cr Flags H", "lustre.mdt_rec_create.cr_flags_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10628 { &hf_lustre_mdt_rec_create_cr_umask,
10629 { "Cr Umask", "lustre.mdt_rec_create.cr_umask", FT_UINT32, BASE_OCT, NULL, 0, "", HFILL }},
10630 { &hf_lustre_mdt_rec_create_cr_padding_4,
10631 { "Cr Padding 4", "lustre.mdt_rec_create.cr_padding_4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10633 { &hf_lustre_mdt_rec_link,
10634 { "mdt rec link", "lustre.mdt_rec_link", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
10635 { &hf_lustre_mdt_rec_link_lk_opcode,
10636 { "Lk Opcode", "lustre.mdt_rec_link.lk_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_t_vals) , 0, "", HFILL }},
10637 { &hf_lustre_mdt_rec_link_lk_cap,
10638 { "Lk Cap", "lustre.mdt_rec_link.lk_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10639 { &hf_lustre_mdt_rec_link_lk_fsuid,
10640 { "Lk Fsuid", "lustre.mdt_rec_link.lk_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10641 { &hf_lustre_mdt_rec_link_lk_fsuid_h,
10642 { "Lk Fsuid H", "lustre.mdt_rec_link.lk_fsuid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10643 { &hf_lustre_mdt_rec_link_lk_fsgid,
10644 { "Lk Fsgid", "lustre.mdt_rec_link.lk_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10645 { &hf_lustre_mdt_rec_link_lk_fsgid_h,
10646 { "Lk Fsgid H", "lustre.mdt_rec_link.lk_fsgid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10647 { &hf_lustre_mdt_rec_link_lk_suppgid1,
10648 { "Lk Suppgid1", "lustre.mdt_rec_link.lk_suppgid1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10649 { &hf_lustre_mdt_rec_link_lk_suppgid1_h,
10650 { "Lk Suppgid1 H", "lustre.mdt_rec_link.lk_suppgid1_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10651 { &hf_lustre_mdt_rec_link_lk_suppgid2,
10652 { "Lk Suppgid2", "lustre.mdt_rec_link.lk_suppgid2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10653 { &hf_lustre_mdt_rec_link_lk_suppgid2_h,
10654 { "Lk Suppgid2 H", "lustre.mdt_rec_link.lk_suppgid2_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10655 { &hf_lustre_mdt_rec_link_lk_fid1,
10656 { "Lk Fid1", "lustre.mdt_rec_link.lk_fid1", FT_NONE,
10657 BASE_NONE, NULL, 0, "", HFILL } },
10658 { &hf_lustre_mdt_rec_link_lk_fid2,
10659 { "Lk Fid2", "lustre.mdt_rec_link.lk_fid2", FT_NONE,
10660 BASE_NONE, NULL, 0, "", HFILL } },
10661 { &hf_lustre_mdt_rec_link_lk_time,
10662 { "Lk Time", "lustre.mdt_rec_link.lk_time",FT_ABSOLUTE_TIME,
10663 ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
10664 { &hf_lustre_mdt_rec_link_lk_padding_1,
10665 { "Lk Padding 1", "lustre.mdt_rec_link.lk_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10666 { &hf_lustre_mdt_rec_link_lk_padding_2,
10667 { "Lk Padding 2", "lustre.mdt_rec_link.lk_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10668 { &hf_lustre_mdt_rec_link_lk_padding_3,
10669 { "Lk Padding 3", "lustre.mdt_rec_link.lk_padding_3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10670 { &hf_lustre_mdt_rec_link_lk_padding_4,
10671 { "Lk Padding 4", "lustre.mdt_rec_link.lk_padding_4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10672 { &hf_lustre_mdt_rec_link_lk_bias,
10673 { "Lk Bias", "lustre.mdt_rec_link.lk_bias", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10674 { &hf_lustre_mdt_rec_link_lk_padding_5,
10675 { "Lk Padding 5", "lustre.mdt_rec_link.lk_padding_5", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10676 { &hf_lustre_mdt_rec_link_lk_padding_6,
10677 { "Lk Padding 6", "lustre.mdt_rec_link.lk_padding_6", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10678 { &hf_lustre_mdt_rec_link_lk_padding_7,
10679 { "Lk Padding 7", "lustre.mdt_rec_link.lk_padding_7", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10680 { &hf_lustre_mdt_rec_link_lk_padding_8,
10681 { "Lk Padding 8", "lustre.mdt_rec_link.lk_padding_8", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10682 { &hf_lustre_mdt_rec_link_lk_padding_9,
10683 { "Lk Padding 9", "lustre.mdt_rec_link.lk_padding_9", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10685 { &hf_lustre_mdt_rec_unlink,
10686 { "mdt rec unlink", "lustre.mdt_rec_unlink", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
10687 { &hf_lustre_mdt_rec_unlink_ul_opcode,
10688 { "Ul Opcode", "lustre.mdt_rec_unlink.ul_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_t_vals) , 0, "", HFILL }},
10689 { &hf_lustre_mdt_rec_unlink_ul_cap,
10690 { "Ul Cap", "lustre.mdt_rec_unlink.ul_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10691 { &hf_lustre_mdt_rec_unlink_ul_fsuid,
10692 { "Ul Fsuid", "lustre.mdt_rec_unlink.ul_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10693 { &hf_lustre_mdt_rec_unlink_ul_fsuid_h,
10694 { "Ul Fsuid H", "lustre.mdt_rec_unlink.ul_fsuid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10695 { &hf_lustre_mdt_rec_unlink_ul_fsgid,
10696 { "Ul Fsgid", "lustre.mdt_rec_unlink.ul_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10697 { &hf_lustre_mdt_rec_unlink_ul_fsgid_h,
10698 { "Ul Fsgid H", "lustre.mdt_rec_unlink.ul_fsgid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10699 { &hf_lustre_mdt_rec_unlink_ul_suppgid1,
10700 { "Ul Suppgid1", "lustre.mdt_rec_unlink.ul_suppgid1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10701 { &hf_lustre_mdt_rec_unlink_ul_suppgid1_h,
10702 { "Ul Suppgid1 H", "lustre.mdt_rec_unlink.ul_suppgid1_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10703 { &hf_lustre_mdt_rec_unlink_ul_suppgid2,
10704 { "Ul Suppgid2", "lustre.mdt_rec_unlink.ul_suppgid2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10705 { &hf_lustre_mdt_rec_unlink_ul_suppgid2_h,
10706 { "Ul Suppgid2 H", "lustre.mdt_rec_unlink.ul_suppgid2_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10707 { &hf_lustre_mdt_rec_unlink_ul_fid1,
10708 { "Ul Fid1", "lustre.mdt_rec_unlink.ul_fid1", FT_NONE,
10709 BASE_NONE, NULL, 0, "", HFILL } },
10710 { &hf_lustre_mdt_rec_unlink_ul_fid2,
10711 { "Ul Fid2", "lustre.mdt_rec_unlink.ul_fid2", FT_NONE,
10712 BASE_NONE, NULL, 0, "", HFILL } },
10713 { &hf_lustre_mdt_rec_unlink_ul_time,
10714 { "Ul Time", "lustre.mdt_rec_unlink.ul_time",FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
10715 { &hf_lustre_mdt_rec_unlink_ul_padding_2,
10716 { "Ul Padding 2", "lustre.mdt_rec_unlink.ul_padding_2", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10717 { &hf_lustre_mdt_rec_unlink_ul_padding_3,
10718 { "Ul Padding 3", "lustre.mdt_rec_unlink.ul_padding_3", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10719 { &hf_lustre_mdt_rec_unlink_ul_padding_4,
10720 { "Ul Padding 4", "lustre.mdt_rec_unlink.ul_padding_4", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10721 { &hf_lustre_mdt_rec_unlink_ul_padding_5,
10722 { "Ul Padding 5", "lustre.mdt_rec_unlink.ul_padding_5", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10723 { &hf_lustre_mdt_rec_unlink_ul_bias,
10724 { "Ul Bias", "lustre.mdt_rec_unlink.ul_bias", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10725 { &hf_lustre_mdt_rec_unlink_ul_mode,
10726 { "Ul Mode", "lustre.mdt_rec_unlink.ul_mode", FT_UINT32, BASE_OCT, NULL, 0, "", HFILL }},
10727 { &hf_lustre_mdt_rec_unlink_ul_padding_6,
10728 { "Ul Padding 6", "lustre.mdt_rec_unlink.ul_padding_6", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10729 { &hf_lustre_mdt_rec_unlink_ul_padding_7,
10730 { "Ul Padding 7", "lustre.mdt_rec_unlink.ul_padding_7", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10731 { &hf_lustre_mdt_rec_unlink_ul_padding_8,
10732 { "Ul Padding 8", "lustre.mdt_rec_unlink.ul_padding_8", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10733 { &hf_lustre_mdt_rec_unlink_ul_padding_9,
10734 { "Ul Padding 9", "lustre.mdt_rec_unlink.ul_padding_9", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10736 { &hf_lustre_mdt_rec_rename,
10737 { "mdt rec rename", "lustre.mdt_rec_rename", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
10738 { &hf_lustre_mdt_rec_rename_rn_opcode,
10739 { "Rn Opcode", "lustre.mdt_rec_rename.rn_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_t_vals) , 0, "", HFILL }},
10740 { &hf_lustre_mdt_rec_rename_rn_cap,
10741 { "Rn Cap", "lustre.mdt_rec_rename.rn_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10742 { &hf_lustre_mdt_rec_rename_rn_fsuid,
10743 { "Rn Fsuid", "lustre.mdt_rec_rename.rn_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10744 { &hf_lustre_mdt_rec_rename_rn_fsuid_h,
10745 { "Rn Fsuid H", "lustre.mdt_rec_rename.rn_fsuid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10746 { &hf_lustre_mdt_rec_rename_rn_fsgid,
10747 { "Rn Fsgid", "lustre.mdt_rec_rename.rn_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10748 { &hf_lustre_mdt_rec_rename_rn_fsgid_h,
10749 { "Rn Fsgid H", "lustre.mdt_rec_rename.rn_fsgid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10750 { &hf_lustre_mdt_rec_rename_rn_suppgid1,
10751 { "Rn Suppgid1", "lustre.mdt_rec_rename.rn_suppgid1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10752 { &hf_lustre_mdt_rec_rename_rn_suppgid1_h,
10753 { "Rn Suppgid1 H", "lustre.mdt_rec_rename.rn_suppgid1_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10754 { &hf_lustre_mdt_rec_rename_rn_suppgid2,
10755 { "Rn Suppgid2", "lustre.mdt_rec_rename.rn_suppgid2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10756 { &hf_lustre_mdt_rec_rename_rn_suppgid2_h,
10757 { "Rn Suppgid2 H", "lustre.mdt_rec_rename.rn_suppgid2_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10758 { &hf_lustre_mdt_rec_rename_rn_fid1,
10759 { "Rn Fid1", "lustre.mdt_rec_rename.rn_fid1", FT_NONE,
10760 BASE_NONE, NULL, 0, "", HFILL } },
10761 { &hf_lustre_mdt_rec_rename_rn_fid2,
10762 { "Rn Fid2", "lustre.mdt_rec_rename.rn_fid2", FT_NONE,
10763 BASE_NONE, NULL, 0, "", HFILL } },
10764 { &hf_lustre_mdt_rec_rename_rn_time,
10765 { "Rn Time", "lustre.mdt_rec_rename.rn_time",FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
10766 { &hf_lustre_mdt_rec_rename_rn_padding_1,
10767 { "Rn Padding 1", "lustre.mdt_rec_rename.rn_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10768 { &hf_lustre_mdt_rec_rename_rn_padding_2,
10769 { "Rn Padding 2", "lustre.mdt_rec_rename.rn_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10770 { &hf_lustre_mdt_rec_rename_rn_padding_3,
10771 { "Rn Padding 3", "lustre.mdt_rec_rename.rn_padding_3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10772 { &hf_lustre_mdt_rec_rename_rn_padding_4,
10773 { "Rn Padding 4", "lustre.mdt_rec_rename.rn_padding_4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10774 { &hf_lustre_mdt_rec_rename_rn_bias,
10775 { "Rn Bias", "lustre.mdt_rec_rename.rn_bias", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10776 { &hf_lustre_mdt_rec_rename_rn_mode,
10777 { "Rn Mode", "lustre.mdt_rec_rename.rn_mode", FT_UINT32, BASE_OCT, NULL, 0, "", HFILL }},
10778 { &hf_lustre_mdt_rec_rename_rn_padding_5,
10779 { "Rn Padding 5", "lustre.mdt_rec_rename.rn_padding_5", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10780 { &hf_lustre_mdt_rec_rename_rn_padding_6,
10781 { "Rn Padding 6", "lustre.mdt_rec_rename.rn_padding_6", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10782 { &hf_lustre_mdt_rec_rename_rn_padding_7,
10783 { "Rn Padding 7", "lustre.mdt_rec_rename.rn_padding_7", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10784 { &hf_lustre_mdt_rec_rename_rn_padding_8,
10785 { "Rn Padding 8", "lustre.mdt_rec_rename.rn_padding_8", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10787 { &hf_lustre_mdt_rec_setxattr,
10788 { "mdt rec setxattr", "lustre.mdt_rec_setxattr", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
10789 { &hf_lustre_mdt_rec_setxattr_sx_opcode,
10790 { "Sx Opcode", "lustre.mdt_rec_setxattr.sx_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_t_vals), 0, "", HFILL }},
10791 { &hf_lustre_mdt_rec_setxattr_sx_cap,
10792 { "Sx Cap", "lustre.mdt_rec_setxattr.sx_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10793 { &hf_lustre_mdt_rec_setxattr_sx_fsuid,
10794 { "Sx Fsuid", "lustre.mdt_rec_setxattr.sx_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10795 { &hf_lustre_mdt_rec_setxattr_sx_fsuid_h,
10796 { "Sx Fsuid H", "lustre.mdt_rec_setxattr.sx_fsuid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10797 { &hf_lustre_mdt_rec_setxattr_sx_fsgid,
10798 { "Sx Fsgid", "lustre.mdt_rec_setxattr.sx_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10799 { &hf_lustre_mdt_rec_setxattr_sx_fsgid_h,
10800 { "Sx Fsgid H", "lustre.mdt_rec_setxattr.sx_fsgid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10801 { &hf_lustre_mdt_rec_setxattr_sx_suppgid1,
10802 { "Sx Suppgid1", "lustre.mdt_rec_setxattr.sx_suppgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10803 { &hf_lustre_mdt_rec_setxattr_sx_suppgid1_h,
10804 { "Sx Suppgid1 H", "lustre.mdt_rec_setxattr.sx_suppgid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10805 { &hf_lustre_mdt_rec_setxattr_sx_suppgid2,
10806 { "Sx Suppgid2", "lustre.mdt_rec_setxattr.sx_suppgid2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10807 { &hf_lustre_mdt_rec_setxattr_sx_suppgid2_h,
10808 { "Sx Suppgid2 H", "lustre.mdt_rec_setxattr.sx_suppgid2_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10809 { &hf_lustre_mdt_rec_setxattr_sx_fid,
10810 { "Sx Fid", "lustre.mdt_rec_setxattr.sx_fid", FT_NONE,
10811 BASE_NONE, NULL, 0, "", HFILL } },
10812 { &hf_lustre_mdt_rec_setxattr_sx_padding_1,
10813 { "Sx Padding 1", "lustre.mdt_rec_setxattr.sx_padding_1", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10814 { &hf_lustre_mdt_rec_setxattr_sx_padding_2,
10815 { "Sx Padding 2", "lustre.mdt_rec_setxattr.sx_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10816 { &hf_lustre_mdt_rec_setxattr_sx_padding_3,
10817 { "Sx Padding 3", "lustre.mdt_rec_setxattr.sx_padding_3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10818 { &hf_lustre_mdt_rec_setxattr_sx_valid,
10819 { "Sx Valid", "lustre.mdt_rec_setxattr.sx_valid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10820 { &hf_lustre_mdt_rec_setxattr_sx_time,
10821 { "Sx Time", "lustre.mdt_rec_setxattr.sx_time",FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
10822 { &hf_lustre_mdt_rec_setxattr_sx_padding_5,
10823 { "Sx Padding 5", "lustre.mdt_rec_setxattr.sx_padding_5", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10824 { &hf_lustre_mdt_rec_setxattr_sx_padding_6,
10825 { "Sx Padding 6", "lustre.mdt_rec_setxattr.sx_padding_6", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10826 { &hf_lustre_mdt_rec_setxattr_sx_padding_7,
10827 { "Sx Padding 7", "lustre.mdt_rec_setxattr.sx_padding_7", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10828 { &hf_lustre_mdt_rec_setxattr_sx_size,
10829 { "Sx Size", "lustre.mdt_rec_setxattr.sx_size", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10830 { &hf_lustre_mdt_rec_setxattr_sx_flags,
10831 { "Sx Flags", "lustre.mdt_rec_setxattr.sx_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
10832 { &hf_lustre_mdt_rec_setxattr_sx_padding_8,
10833 { "Sx Padding 8", "lustre.mdt_rec_setxattr.sx_padding_8", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10834 { &hf_lustre_mdt_rec_setxattr_sx_padding_9,
10835 { "Sx Padding 9", "lustre.mdt_rec_setxattr.sx_padding_9", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10836 { &hf_lustre_mdt_rec_setxattr_sx_padding_10,
10837 { "Sx Padding 10", "lustre.mdt_rec_setxattr.sx_padding_10", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10838 { &hf_lustre_mdt_rec_setxattr_sx_padding_11,
10839 { "Sx Padding 11", "lustre.mdt_rec_setxattr.sx_padding_11", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10841 { &hf_lustre_lustre_handle_cookie,
10842 { "Cookie", "lustre.lustre_handle.cookie", FT_UINT64, BASE_HEX,
10843 NULL, 0, "", HFILL } },
10844 { &hf_lustre_ptlrpc_body_pb_last_committed,
10845 { "Pb Last Committed", "lustre.ptlrpc_body.pb_last_committed", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10846 { &hf_lustre_ptlrpc_body_pb_version,
10847 { "Pb Version", "lustre.ptlrpc_body.pb_version", FT_UINT32, BASE_DEC, NULL, ~LUSTRE_VERSION_MASK, "", HFILL }},
10848 { &hf_lustre_lustre_msg_v1_lm_bufcount,
10849 { "Lm Bufcount", "lustre.lustre_msg_v1.lm_bufcount", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10850 { &hf_lustre_obd_ioobj_ioo_id,
10851 { "Ioo Id", "lustre.obd_ioobj.ioo_id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10852 { &hf_lustre_ptlrpc_body_pb_slv,
10853 { "Pb Slv", "lustre.ptlrpc_body.pb_slv", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10855 { &hf_lustre_ptlrpc_body_pb_pre_version,
10856 { "Pb Pre-Version", "lustre.ptlrpc_body.pb_pre_version", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10857 { &hf_lustre_ptlrpc_body_pb_padding,
10858 { "Pb Padding", "lustre.ptlrpc_body.pb_padding", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10859 { &hf_lustre_ptlrpc_body_pb_jobid,
10860 { "Pb JobId", "lustre.ptlrpc_body.pb_jobid", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
10862 { &hf_lustre_lustre_msg_v1_lm_handle,
10863 { "Lm Handle", "lustre.lustre_msg_v1.lm_handle", FT_NONE, BASE_NONE,
10864 NULL, 0, "", HFILL } },
10865 { &hf_lustre_ost_lvb_lvb_atime,
10866 { "Lvb Atime", "lustre.ost_lvb.lvb_atime",
10867 FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
10868 { &hf_lustre_ptlrpc_body_pb_timeout,
10869 { "Pb Timeout", "lustre.ptlrpc_body.pb_timeout", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10870 { &hf_lustre_obd_statfs_os_bavail,
10871 { "Os Bavail", "lustre.obd_statfs.os_bavail", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10872 { &hf_lustre_obd_statfs_os_bsize,
10873 { "Os Bsize", "lustre.obd_statfs.os_bsize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10874 { &hf_lustre_lustre_msg_v2_lm_repsize,
10875 { "Lm Repsize", "lustre.lustre_msg_v2.lm_repsize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10876 { &hf_lustre_lov_mds_md_v1_lmm_stripe_size,
10877 { "Lmm Stripe Size", "lustre.lov_mds_md_v1.lmm_stripe_size", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10878 { &hf_lustre_lustre_msg_v1_lm_last_xid,
10879 { "Lm Last Xid", "lustre.lustre_msg_v1.lm_last_xid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10880 { &hf_lustre_ll_fid_f_type,
10881 { "F Type", "lustre.ll_fid.f_type", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
10882 { &hf_lustre_lustre_msg_v2_lm_cksum,
10883 { "Lm Cksum", "lustre.lustre_msg_v2.lm_cksum", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10884 { &hf_lustre_lustre_msg_v2_lm_buflens,
10885 { "Lm Buflens", "lustre.lustre_msg_v2.lm_buflens", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10886 { &hf_lustre_lustre_msg_v1_lm_status,
10887 { "Lm Status", "lustre.lustre_msg_v1.lm_status", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10888 { &hf_lustre_lustre_msg_v1_lm_type,
10889 { "Lm Type", "lustre.lustre_msg_v1.lm_type", FT_UINT32, BASE_DEC, VALS(lustre_LMTypes), 0, "", HFILL }},
10890 { &hf_lustre_niobuf_remote_len,
10891 { "Len", "lustre.niobuf_remote.len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10892 { &hf_lustre_lov_mds_md_v1_lmm_magic,
10893 { "Lmm Magic", "lustre.lov_mds_md_v1.lmm_magic", FT_UINT32, BASE_HEX, VALS(lustre_lov_magic) , 0, "", HFILL }},
10894 { &hf_lustre_ptlrpc_body_pb_op_flags,
10895 { "Pb Op Flags", "lustre.ptlrpc_body.pb_op_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
10896 { &hf_lustre_ost_lvb_lvb_ctime,
10897 { "Lvb Ctime", "lustre.ost_lvb.lvb_ctime",FT_ABSOLUTE_TIME,
10898 ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
10899 { &hf_lustre_ptlrpc_body_pb_type,
10900 { "Pb Type", "lustre.ptlrpc_body.pb_type", FT_UINT32, BASE_DEC, VALS(lustre_LMTypes), 0, "", HFILL }},
10901 { &hf_lustre_obd_connect_data_ocd_nllg,
10902 { "Ocd Nllg", "lustre.obd_connect_data.ocd_nllg", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10903 { &hf_lustre_obd_connect_data_ocd_nllu,
10904 { "Ocd Nllu", "lustre.obd_connect_data.ocd_nllu", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10905 { &hf_lustre_ll_fid_generation,
10906 { "Generation", "lustre.ll_fid.generation", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
10907 { &hf_lustre_ost_lvb_lvb_mtime,
10908 { "Lvb Mtime", "lustre.ost_lvb.lvb_mtime",FT_ABSOLUTE_TIME,
10909 ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
10910 { &hf_lustre_ost_lvb_lvb_mtime_ns,
10911 { "Lvb Mtime NS", "lustre.ost_lvb.lvb_mtime_ns", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10912 { &hf_lustre_ost_lvb_lvb_atime_ns,
10913 { "Lvb Atime NS", "lustre.ost_lvb.lvb_atime_ns", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10914 { &hf_lustre_ost_lvb_lvb_ctime_ns,
10915 { "Lvb Ctime NS", "lustre.ost_lvb.lvb_ctime_ns", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10916 { &hf_lustre_ost_lvb_lvb_padding,
10917 { "padding", "lustre.ost_lvb.padding", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
10918 { &hf_lustre_obd_connect_data_ocd_ibits_known,
10919 { "Ocd Ibits Known", "lustre.obd_connect_data.ocd_ibits_known", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10920 { &hf_lustre_lustre_msg_v2_lm_padding_3,
10921 { "Lm Padding 3", "lustre.lustre_msg_v2.lm_padding_3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10922 { &hf_lustre_ptlrpc_body_pb_flags,
10923 { "Pb Flags", "lustre.ptlrpc_body.pb_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
10924 { &hf_lustre_obd_statfs_os_spare4,
10925 { "Os Spare4", "lustre.obd_statfs.os_spare4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10926 { &hf_lustre_obd_connect_data_ocd_group,
10927 { "Ocd Group", "lustre.obd_connect_data.ocd_group", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10928 { &hf_lustre_lov_ost_data_v1_l_object_seq,
10929 { "L Object SEQ", "lustre.lov_ost_data_v1.l_object_seq", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10930 { &hf_lustre_lov_mds_md_v1_lmm_object_seq,
10931 { "Lmm Object SEQ", "lustre.lov_mds_md_v1.lmm_object_seq", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10932 { &hf_lustre_obd_connect_data_ocd_brw_size,
10933 { "Ocd Brw Size", "lustre.obd_connect_data.ocd_brw_size", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10934 { &hf_lustre_ptlrpc_body_pb_limit,
10935 { "Pb Limit", "lustre.ptlrpc_body.pb_limit", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10936 { &hf_lustre_obd_statfs_os_maxbytes,
10937 { "Os Maxbytes", "lustre.obd_statfs.os_maxbytes", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10938 { &hf_lustre_obd_statfs_os_spare5,
10939 { "Os Spare5", "lustre.obd_statfs.os_spare5", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10940 { &hf_lustre_lustre_msg_v2_lm_flags,
10941 { "Lm Flags", "lustre.lustre_msg_v2.lm_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
10942 { &hf_lustre_obd_statfs_os_ffree,
10943 { "Os Ffree", "lustre.obd_statfs.os_ffree", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10944 { &hf_lustre_obd_statfs_os_files,
10945 { "Os Files", "lustre.obd_statfs.os_files", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10946 { &hf_lustre_lov_mds_md_v1_lmm_stripe_count,
10947 { "Lmm Stripe Count", "lustre.lov_mds_md_v1.lmm_stripe_count", FT_UINT16, BASE_DEC, NULL, 0, "", HFILL }},
10948 { &hf_lustre_lov_mds_md_v1_lmm_layout_gen,
10949 { "Lmm Layout Generation", "lustre.lov_mds_md_v1.lmm_layout_gen", FT_UINT16, BASE_DEC, NULL, 0, "", HFILL }},
10950 { &hf_lustre_lustre_msg_v1_lm_flags,
10951 { "Lm Flags", "lustre.lustre_msg_v1.lm_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
10952 { &hf_lustre_lustre_msg_v1_lm_last_committed,
10953 { "Lm Last Committed", "lustre.lustre_msg_v1.lm_last_committed", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10954 { &hf_lustre_obd_statfs_os_spare9,
10955 { "Os Spare9", "lustre.obd_statfs.os_spare9", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10956 { &hf_lustre_obd_connect_data_ocd_index,
10957 { "Ocd Index", "lustre.obd_connect_data.ocd_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10958 { &hf_lustre_lustre_msg_v1_lm_buflens,
10959 { "Lm Buflens", "lustre.lustre_msg_v1.lm_buflens", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10960 { &hf_lustre_obd_statfs_os_spare1,
10961 { "Os Spare1", "lustre.obd_statfs.os_spare1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10962 { &hf_lustre_obd_statfs_os_spare8,
10963 { "Os Spare8", "lustre.obd_statfs.os_spare8", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10964 { &hf_lustre_lustre_msg_v1_lm_conn_cnt,
10965 { "Lm Conn Cnt", "lustre.lustre_msg_v1.lm_conn_cnt", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10966 { &hf_lustre_ptlrpc_body_pb_transno,
10967 { "Pb Transno", "lustre.ptlrpc_body.pb_transno", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10968 { &hf_lustre_ptlrpc_body_pb_service_time,
10969 { "Pb Service Time", "lustre.ptlrpc_body.pb_service_time",FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10970 { &hf_lustre_ptlrpc_body_pb_conn_cnt,
10971 { "Pb Conn Cnt", "lustre.ptlrpc_body.pb_conn_cnt", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10972 { &hf_lustre_ptlrpc_body_pb_opc,
10973 { "Pb Opc", "lustre.ptlrpc_body.pb_opc", FT_UINT32, BASE_DEC, VALS(lustre_op_codes), 0, "", HFILL }},
10974 { &hf_lustre_obd_connect_data_ocd_connect_flags,
10975 { "Ocd Connect Flags", "lustre.obd_connect_data.ocd_connect_flags",
10976 FT_UINT64 , BASE_HEX, NULL, 0, "", HFILL } },
10977 { &hf_lustre_lov_ost_data_v1_l_object_id,
10978 { "L Object Id", "lustre.lov_ost_data_v1.l_object_id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10979 { &hf_lustre_lov_ost_data_v1_l_ost_gen,
10980 { "L Ost Gen", "lustre.lov_ost_data_v1.l_ost_gen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10981 { &hf_lustre_obd_statfs_os_bfree,
10982 { "Os Bfree", "lustre.obd_statfs.os_bfree", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10983 { &hf_lustre_obd_connect_data_ocd_version,
10984 { "Ocd Version", "lustre.obd_connect_data.ocd_version",
10985 FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
10986 { &hf_lustre_lov_mds_md_v1_lmm_objects,
10987 { "Lmm Objects", "lustre.lov_mds_md_v1.lmm_objects", FT_NONE,
10988 BASE_NONE, NULL, 0, "", HFILL } },
10989 { &hf_lustre_obd_statfs_os_namelen,
10990 { "Os Namelen", "lustre.obd_statfs.os_namelen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10991 { &hf_lustre_obd_statfs_os_blocks,
10992 { "Os Blocks", "lustre.obd_statfs.os_blocks", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10993 { &hf_lustre_lustre_msg_v2_lm_secflvr,
10994 { "Lm Secflvr", "lustre.lustre_msg_v2.lm_secflvr", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10995 { &hf_lustre_lustre_msg_v1_lm_transno,
10996 { "Lm Transno", "lustre.lustre_msg_v1.lm_transno", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
10997 { &hf_lustre_lov_mds_md_v1_lmm_pattern,
10998 { "Lmm Pattern", "lustre.lov_mds_md_v1.lmm_pattern", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
10999 { &hf_lustre_lustre_msg_v1_lm_opc,
11000 { "Lm Opc", "lustre.lustre_msg_v1.lm_opc", FT_UINT32, BASE_DEC, VALS(lustre_op_codes), 0, "", HFILL }},
11001 { &hf_lustre_obd_connect_data_ocd_grant,
11002 { "Ocd Grant", "lustre.obd_connect_data.ocd_grant", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11003 { &hf_lustre_obd_ioobj_ioo_bufcnt,
11004 { "Ioo Bufcnt", "lustre.obd_ioobj.ioo_bufcnt", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11005 { &hf_lustre_lustre_msg_v1_lm_version,
11006 { "Lm Version", "lustre.lustre_msg_v1.lm_version", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11007 { &hf_lustre_obd_statfs_os_spare7,
11008 { "Os Spare7", "lustre.obd_statfs.os_spare7", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11009 { &hf_lustre_obd_statfs_os_fsid,
11010 { "Os Fsid", "lustre.obd_statfs.os_fsid", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
11011 { &hf_lustre_obd_connect_data_ocd_cksum_types,
11012 { "Ocd Cksum Types", "lustre.obd_connect_data.ocd_cksum_types",
11013 FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
11014 { &hf_lustre_obd_connect_data_ocd_max_easize,
11015 { "Ocd Max LOV EA Size", "lustre.obd_connect_data.ocd_max_easize",
11016 FT_UINT32, BASE_DEC, NULL, 0, "", HFILL } },
11017 { &hf_lustre_obd_connect_data_ocd_instance,
11018 { "Ocd Instance", "lustre.obd_connect_data.ocd_instance",
11019 FT_UINT32, BASE_DEC, NULL, 0, "", HFILL } },
11020 { &hf_lustre_obd_connect_data_ocd_maxbytes,
11021 { "Ocd Max Stripe Size (Bytes)",
11022 "lustre.obd_connect_data.ocd_maxbytes",
11023 FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
11024 { &hf_lustre_obd_connect_data_ocd_maxmodrpcs,
11025 { "Ocd Max Parallel Modify RPCs",
11026 "lustre.obd_connect_data.ocd_maxmodrpcs",
11027 FT_UINT16, BASE_DEC, NULL, 0, "", HFILL } },
11029 { &hf_lustre_ost_lvb_lvb_size,
11030 { "Lvb Size", "lustre.ost_lvb.lvb_size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11031 { &hf_lustre_obd_statfs_os_type,
11032 { "Os Type", "lustre.obd_statfs.os_type", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11033 { &hf_lustre_obd_statfs_os_spare6,
11034 { "Os Spare6", "lustre.obd_statfs.os_spare6", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11035 { &hf_lustre_obd_statfs_os_state,
11036 { "Os State", "lustre.obd_statfs.os_state", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11037 { &hf_lustre_obd_statfs_os_spare3,
11038 { "Os Spare3", "lustre.obd_statfs.os_spare3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11039 { &hf_lustre_lustre_msg_v2_lm_magic,
11040 { "Lm Magic", "lustre.lustre_msg_v2.lm_magic", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
11041 { &hf_lustre_lov_mds_md_v1_lmm_object_id,
11042 { "Lmm Object Id", "lustre.lov_mds_md_v1.lmm_object_id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11043 { &hf_lustre_ptlrpc_body_pb_last_seen,
11044 { "Pb Last Seen", "lustre.ptlrpc_body.pb_last_seen", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11045 { &hf_lustre_obd_ioobj_ioo_max_brw, /* TODO : create the
11046 corresponding value_string */
11047 { "Ioo Max BRW Size", "lustre.obd_ioobj.ioo_max_brw", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
11048 { &hf_lustre_ptlrpc_body_pb_last_xid,
11049 { "Pb Last Xid", "lustre.ptlrpc_body.pb_last_xid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11050 { &hf_lustre_ptlrpc_body_pb_status,
11051 { "Pb Status", "lustre.ptlrpc_body.pb_status", FT_INT32, BASE_DEC, NULL, 0, "", HFILL }},
11052 { &hf_lustre_niobuf_remote_flags,
11053 { "Flags", "lustre.niobuf_remote.flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
11054 { &hf_lustre_ll_fid_id,
11055 { "Id", "lustre.ll_fid.id", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL }},
11056 { &hf_lustre_ost_lvb_lvb_blocks,
11057 { "Lvb Blocks", "lustre.ost_lvb.lvb_blocks", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11058 { &hf_lustre_lustre_msg_v2_lm_padding_2,
11059 { "Lm Padding 2", "lustre.lustre_msg_v2.lm_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11060 { &hf_lustre_lov_ost_data_v1_l_ost_idx,
11061 { "L Ost Idx", "lustre.lov_ost_data_v1.l_ost_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11062 { &hf_lustre_obd_ioobj_ioo_seq,
11063 { "Ioo Gr", "lustre.obd_ioobj.ioo_seq", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11064 { &hf_lustre_niobuf_remote_offset,
11065 { "Offset", "lustre.niobuf_remote.offset", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11066 { &hf_lustre_obd_statfs_os_spare2,
11067 { "Os Spare2", "lustre.obd_statfs.os_spare2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11068 { &hf_lustre_lustre_msg_v2_lm_bufcount,
11069 { "Lm Bufcount", "lustre.lustre_msg_v2.lm_bufcount", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11070 { &hf_lustre_ptlrpc_body_pb_handle,
11071 { "Pb Handle", "lustre.ptlrpc_body.pb_handle", FT_NONE,
11072 BASE_NONE, NULL, 0, "", HFILL } },
11073 { &hf_lustre_obd_connect_data_ocd_transno,
11074 { "Ocd Transno", "lustre.obd_connect_data.ocd_transno", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11075 { &hf_lustre_lustre_msg_v1_lm_magic,
11076 { "Lm Magic", "lustre.lustre_msg_v1.lm_magic", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11077 { &hf_lustre_ptlrpc_body_pb,
11078 { "ptl rpc", "lustre.ptlrpc_body", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
11080 { &hf_lustre_obd_uuid,
11081 { "obd uid name", "lustre.obd_uid", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
11082 { &hf_lustre_obd_connect_data ,
11083 { "obd connect data", "lustre.obd_connect_data", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
11085 { &hf_lustre_ldlm_intent,
11086 { "ldlm intent", "lustre.ldlm_intent", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
11088 { &hf_lustre_obd_ioobj,
11089 { "lustre obd ioobj", "lustre.obd_ioobj", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
11090 { &hf_lustre_niobuf_remote,
11091 { "lustre niobuf remote", "lustre.niobuf_remote", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
11092 { &hf_lustre_ost_key,
11093 { "lustre ost key", "lustre.ost_key", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
11094 { &hf_lustre_ost_val,
11095 { "lustre ost val", "lustre.ost_val", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
11096 { &hf_lustre_llogd_chunk,
11097 { "lustre llogd chunk", "lustre.llogd_chunk", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
11098 { &hf_lustre_llogd_keyword,
11099 { "lustre llogd keyword", "lustre.llogd_keyword", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
11100 { &hf_lustre_llogd_client,
11101 { "lustre llogd client", "lustre.llogd_client", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
11102 { &hf_lustre_llogd_name,
11103 { "lustre llogd name", "lustre.llogd_name", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
11104 { &hf_lustre_llogd_log_hdr,
11105 { "lustre llogd log hdr", "lustre.llogd_log_hdr", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
11106 { &hf_lustre_llog_logid_rec,
11107 { "lustre llog logid rec", "lustre.llog_logid_rec", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
11109 { &hf_lustre_llogd_body,
11110 { "lustre llogd body", "lustre.llogd_body", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
11112 { "lustre nio", "lustre.nio", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
11113 { &hf_lustre_ost_body,
11114 { "ost body", "lustre.ost_body", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
11115 { &hf_lustre_obd_statfs,
11116 { "obd statfs", "lustre.obd_statfs", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
11117 { &hf_lustre_obd_quotactl,
11118 { "obd quotactl", "lustre.obd_quotacl", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
11119 { &hf_lustre_quota_adjust_qunit,
11120 { "obd quota adjust qunit", "lustre.quota_adjust_qunit", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
11121 { &hf_lustre_llog_unlink_rec_lur_tail,
11122 { "Lur Tail", "lustre.llog_unlink_rec.lur_tail", FT_NONE,
11123 BASE_NONE, NULL, 0, "", HFILL } },
11124 { &hf_lustre_llog_size_change_rec_lsc_io_epoch,
11125 { "Lsc Io Epoch", "lustre.llog_size_change_rec.lsc_io_epoch", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11126 { &hf_lustre_mgs_target_info_mti_flags,
11127 { "Mti Flags", "lustre.mgs_target_info.mti_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
11128 { &hf_lustre_ldlm_reply_lock_policy_res1,
11129 { "Lock Policy Res1", "lustre.ldlm_reply.lock_policy_res1", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11130 { &hf_lustre_llogd_body_lgd_len,
11131 { "Lgd Len", "lustre.llogd_body.lgd_len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11132 { &hf_lustre_qunit_data_old_qd_id,
11133 { "Qd Id", "lustre.qunit_data_old.qd_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11134 { &hf_lustre_llog_logid_rec_padding1,
11135 { "Padding1", "lustre.llog_logid_rec.padding1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11136 { &hf_lustre_quota_adjust_qunit_padding1,
11137 { "Padding1", "lustre.quota_adjust_qunit.padding1", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11138 { &hf_lustre_llog_size_change_rec_lsc_fid,
11139 { "Lsc Fid", "lustre.llog_size_change_rec.lsc_fid", FT_NONE,
11140 BASE_NONE, NULL, 0, "", HFILL } },
11141 { &hf_lustre_llog_rec_hdr_padding,
11142 { "Padding", "lustre.llog_rec_hdr.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11143 { &hf_lustre_obdo_o_nlink,
11144 { "O Nlink", "lustre.obdo.o_nlink", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11145 { &hf_lustre_ldlm_extent_gid,
11146 { "Gid", "lustre.ldlm_extent.gid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11147 { &hf_lustre_obdo_o_uid,
11148 { "O Uid", "lustre.obdo.o_uid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11149 { &hf_lustre_mds_xattr_name,
11150 { "mds xattr name", "lustre.mds_xattr_name", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
11151 { &hf_lustre_lov_mds_md_v1,
11152 { "lov mds md v1", "lustre.lov_mds_md_v1", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
11153 { &hf_lustre_llog_cookie,
11154 { "llog cookie", "lustre.llog_cookie", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
11155 { &hf_lustre_mds_md_data,
11156 { "mds md data", "lustre.mds_md_data", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
11157 { &hf_lustre_mds_reint_opcode,
11158 { "mds reint opcode", "lustre.mds_reint_opcode", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
11159 { &hf_lustre_mds_xattr_eadata,
11160 { "mds xattr eadata", "lustre.mds_xattr_eadata", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
11161 { &hf_lustre_reint_name,
11162 { "mds reint name", "lustre.mds_reint_name", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
11163 { &hf_lustre_reint_old_name,
11164 { "mds reint old name", "lustre.mds_reint_old_name", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
11165 { &hf_lustre_reint_new_name,
11166 { "mds reint new name", "lustre.mds_reint_new_name", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
11169 { &hf_lustre_obdo_o_valid,
11170 { "O Valid", "lustre.obdo.o_valid", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL }},
11171 { &hf_lustre_ldlm_reply_lock_flags,
11172 { "Lock Flags", "lustre.ldlm_reply.lock_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
11174 #define WSHARK_INIT_DATA
11175 #include "lustre_dlm_flags_wshark.c"
11176 #undef WSHARK_INIT_DATA
11178 { &hf_lustre_obdo_o_misc,
11179 { "O Misc", "lustre.obdo.o_misc", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11180 { &hf_lustre_ldlm_request_lock_handle,
11181 { "Lock Handle", "lustre.ldlm_request.lock_handle", FT_NONE,
11182 BASE_NONE, NULL, 0, "", HFILL } },
11183 { &hf_lustre_llog_logid_lgl_oid,
11184 { "Lgl Oid", "lustre.llog_logid.lgl_oid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11185 { &hf_lustre_ldlm_inodebits_bits,
11186 { "Bits", "lustre.ldlm_inodebits.bits", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11187 { &hf_lustre_llog_log_hdr_llh_count,
11188 { "Llh Count", "lustre.llog_log_hdr.llh_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11189 { &hf_lustre_llog_gen_rec_lgr_tail,
11190 { "Lgr Tail", "lustre.llog_gen_rec.lgr_tail", FT_NONE,
11191 BASE_NONE, NULL, 0, "", HFILL } },
11192 { &hf_lustre_llog_catid_lci_padding3,
11193 { "Lci Padding3", "lustre.llog_catid.lci_padding3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11194 { &hf_lustre_qunit_data_qd_qunit,
11195 { "Qd Qunit", "lustre.qunit_data.qd_qunit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11196 { &hf_lustre_llog_setattr_rec_padding,
11197 { "Padding", "lustre.llog_setattr_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11198 { &hf_lustre_llog_cookie_lgc_lgl,
11199 { "Lgc Lgl", "lustre.llog_cookie.lgc_lgl", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11200 { &hf_lustre_obd_quotactl_qc_dqinfo,
11201 { "Qc Dqinfo", "lustre.obd_quotactl.qc_dqinfo", FT_NONE,
11202 BASE_NONE, NULL, 0, "", HFILL } },
11203 { &hf_lustre_llog_log_hdr_llh_bitmap,
11204 { "Llh Bitmap", "lustre.llog_log_hdr.llh_bitmap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11205 { &hf_lustre_obd_quotactl_qc_stat,
11206 { "Qc Stat", "lustre.obd_quotactl.qc_stat", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11207 { &hf_lustre_qunit_data_old2_qd_id,
11208 { "Qd Id", "lustre.qunit_data_old2.qd_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11209 { &hf_lustre_llog_logid_rec_padding2,
11210 { "Padding2", "lustre.llog_logid_rec.padding2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11211 { &hf_lustre_llog_logid_rec_padding5,
11212 { "Padding5", "lustre.llog_logid_rec.padding5", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11213 /*-------------------------------------------------------------------------------------------------------------*/
11214 /*all this flags are uint64, but I don't find the way to use something like TFS() with a Uint64*/
11215 /*like TFS() with a Uint64 */
11216 { &hf_lustre_ldlm_intent_opc_open,
11217 { "open", "lustre.ldlm_intent.opc_open", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_OPEN, "", HFILL } },
11218 { &hf_lustre_ldlm_intent_opc_creat,
11219 { "creat", "lustre.ldlm_intent.opc_creat", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_CREAT , "", HFILL } },
11220 { &hf_lustre_ldlm_intent_opc_readdir,
11221 { "readdir", "lustre.ldlm_intent.opc_readdir", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_READDIR , "", HFILL } },
11222 { &hf_lustre_ldlm_intent_opc_getattr,
11223 { "getattr", "lustre.ldlm_intent.opc_getattr", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_GETATTR, "", HFILL } },
11224 { &hf_lustre_ldlm_intent_opc_lookup,
11225 { "lookup", "lustre.ldlm_intent.opc_lookup", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_LOOKUP , "", HFILL } },
11226 { &hf_lustre_ldlm_intent_opc_unlink,
11227 { "unlink", "lustre.ldlm_intent.opc_unlink", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_UNLINK , "", HFILL } },
11228 { &hf_lustre_ldlm_intent_opc_trunc,
11229 { "trunc", "lustre.ldlm_intent.opc_trunc", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_TRUNC , "", HFILL } },
11230 { &hf_lustre_ldlm_intent_opc_getxattr,
11231 { "getxattr", "lustre.ldlm_intent.opc_getxattr", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_GETXATTR , "", HFILL } },
11232 { &hf_lustre_ldlm_intent_opc_exec,
11233 { "exec", "lustre.ldlm_intent.opc_exec", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_EXEC , "", HFILL } },
11234 { &hf_lustre_ldlm_intent_opc_pin,
11235 { "pin", "lustre.ldlm_intent.opc_pin", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_PIN , "", HFILL } },
11236 { &hf_lustre_ldlm_intent_opc_layout,
11237 { "layout", "lustre.ldlm_intent.opc_layout", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_LAYOUT , "", HFILL } },
11238 { &hf_lustre_ldlm_intent_opc_q_dqacq,
11239 { "quota dqacq", "lustre.ldlm_intent.opc_quota_dqacq", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_QUOTA_DQACQ , "", HFILL } },
11240 { &hf_lustre_ldlm_intent_opc_q_conn,
11241 { "quota conn", "lustre.ldlm_intent.opc_quota_conn", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_QUOTA_CONN , "", HFILL } },
11242 { &hf_lustre_ldlm_intent_opc_setxattr,
11243 { "setxattr", "lustre.ldlm_intent.opc_setxattr", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), IT_SETXATTR , "", HFILL } },
11244 /*-------------------------------------------------------------------*/
11245 { &hf_lustre_ldlm_intent_opc,
11246 { "intent opcode", "lustre.ldlm_intent.opc", FT_NONE, BASE_NONE, NULL, 0, "", HFILL}},
11247 { &hf_lustre_llog_rec_hdr_lrh_type,
11248 { "Lrh Type", "lustre.llog_rec_hdr.lrh_type", FT_UINT32, BASE_HEX, VALS(lustre_llog_op_type), 0, "", HFILL }},
11249 { &hf_lustre_llog_rec_hdr_lrh_len,
11250 { "Lrh Len", "lustre.llog_rec_hdr.lrh_len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11251 { &hf_lustre_llog_setattr_rec_lsr_uid,
11252 { "Lsr Uid", "lustre.llog_setattr_rec.lsr_uid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11253 { &hf_lustre_lov_desc_ld_padding_1,
11254 { "Ld Padding 1", "lustre.lov_desc.ld_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11255 { &hf_lustre_obdo_o_padding_4,
11256 { "O Padding 4", "lustre.obdo.o_padding_4", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11257 { &hf_lustre_mgs_target_info_padding,
11258 { "Padding", "lustre.mgs_target_info.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11259 { &hf_lustre_obd_quotactl_qc_dqblk,
11260 { "Qc Dqblk", "lustre.obd_quotactl.qc_dqblk", FT_NONE,
11261 BASE_NONE, NULL, 0, "", HFILL } },
11262 { &hf_lustre_llogd_conn_body_lgdc_gen,
11263 { "Lgdc Gen", "lustre.llogd_conn_body.lgdc_gen", FT_NONE,
11264 BASE_NONE, NULL, 0, "", HFILL } },
11265 { &hf_lustre_llog_log_hdr_llh_tail,
11266 { "Llh Tail", "lustre.llog_log_hdr.llh_tail", FT_NONE,
11267 BASE_NONE, NULL, 0, "", HFILL } },
11268 { &hf_lustre_obdo_o_size,
11269 { "O Size", "lustre.obdo.o_size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11270 { &hf_lustre_ldlm_extent_start,
11271 { "Start", "lustre.ldlm_extent.start", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11272 { &hf_lustre_llog_size_change_rec_lsc_hdr,
11273 { "Lsc Hdr", "lustre.llog_size_change_rec.lsc_hdr", FT_NONE,
11274 BASE_NONE, NULL, 0, "", HFILL } },
11275 { &hf_lustre_llog_logid_lgl_oseq,
11276 { "Lgl SEQ", "lustre.llog_logid.lgl_oseq", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11277 { &hf_lustre_llog_cookie_lgc_padding,
11278 { "Lgc Padding", "lustre.llog_cookie.lgc_padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11279 { &hf_lustre_qunit_data_old_qd_type,
11280 { "Qd Type", "lustre.qunit_data_old.qd_type", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11281 { &hf_lustre_ldlm_flock_blocking_export,
11282 { "Blocking Export", "lustre.ldlm_flock.blocking_export", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11283 { &hf_lustre_lov_desc_ld_pattern,
11284 { "Ld Pattern", "lustre.lov_desc.ld_pattern", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11285 { &hf_lustre_qunit_data_qd_id,
11286 { "Qd Id", "lustre.qunit_data.qd_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11287 { &hf_lustre_mgs_target_info_mti_fsname,
11288 { "Mti Fsname", "lustre.mgs_target_info.mti_fsname", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
11289 { &hf_lustre_ldlm_request_lock_flags,
11290 { "Lock Flags", "lustre.ldlm_request.lock_flags", FT_UINT32, BASE_HEX, NULL, 0 , "", HFILL }},
11291 { &hf_lustre_obdo_o_mode,
11292 { "O Mode", "lustre.obdo.o_mode", FT_UINT32, BASE_OCT, NULL, 0, "", HFILL }},
11293 { &hf_lustre_mgs_target_info_mti_svname,
11294 { "Mti Svname", "lustre.mgs_target_info.mti_svname", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
11295 { &hf_lustre_llogd_body_lgd_logid,
11296 { "Lgd Logid", "lustre.llogd_body.lgd_logid", FT_NONE,
11297 BASE_NONE, NULL, 0, "", HFILL } },
11298 { &hf_lustre_llog_log_hdr_llh_size,
11299 { "Llh Size", "lustre.llog_log_hdr.llh_size", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11300 { &hf_lustre_obdo_o_handle,
11301 { "O Handle", "lustre.obdo.o_handle", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11302 { &hf_lustre_obdo_o_atime,
11303 { "O Atime", "lustre.obdo.o_atime",FT_ABSOLUTE_TIME,
11304 ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
11305 { &hf_lustre_quota_adjust_qunit_qaq_id,
11306 { "Qaq Id", "lustre.quota_adjust_qunit.qaq_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11307 { &hf_lustre_ldlm_lock_desc_l_policy_data,
11308 { "L Policy Data", "lustre.ldlm_lock_desc.l_policy_data", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11309 { &hf_lustre_obd_quotactl_qc_cmd,
11310 { "Qc Cmd", "lustre.obd_quotactl.qc_cmd", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11311 { &hf_lustre_qunit_data_padding,
11312 { "Padding", "lustre.qunit_data.padding", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11313 { &hf_lustre_quota_adjust_qunit_qaq_flags,
11314 { "Qaq Flags", "lustre.quota_adjust_qunit.qaq_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
11315 { &hf_lustre_ldlm_lock_desc_l_granted_mode,
11316 { "L Granted Mode", "lustre.ldlm_lock_desc.l_granted_mode", FT_UINT16, BASE_DEC, VALS(lustre_ldlm_mode_vals), 0, "", HFILL }},
11317 { &hf_lustre_obdo_o_seq,
11318 { "O SEQ", "lustre.obdo.o_seq", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11319 { &hf_lustre_obdo_o_gid,
11320 { "O Gid", "lustre.obdo.o_gid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11321 { &hf_lustre_llog_catid_lci_logid,
11322 { "Lci Logid", "lustre.llog_catid.lci_logid", FT_NONE,
11323 BASE_NONE, NULL, 0, "", HFILL } },
11324 { &hf_lustre_llog_rec_tail_lrt_index,
11325 { "Lrt Index", "lustre.llog_rec_tail.lrt_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11326 { &hf_lustre_lov_desc_ld_default_stripe_count,
11327 { "Ld Default Stripe Count", "lustre.lov_desc.ld_default_stripe_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11328 { &hf_lustre_ldlm_resource_desc_lr_padding,
11329 { "Lr Padding", "lustre.ldlm_resource_desc.lr_padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11330 { &hf_lustre_cfg_marker_cm_vers,
11331 { "Cm Vers", "lustre.cfg_marker.cm_vers", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11332 { &hf_lustre_llog_unlink_rec_lur_hdr,
11333 { "Lur Hdr", "lustre.llog_unlink_rec.lur_hdr", FT_NONE,
11334 BASE_NONE, NULL, 0, "", HFILL } },
11335 { &hf_lustre_llogd_body_lgd_index,
11336 { "Lgd Index", "lustre.llogd_body.lgd_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11337 { &hf_lustre_cfg_marker_cm_tgtname,
11338 { "Cm Tgtname", "lustre.cfg_marker.cm_tgtname", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
11339 { &hf_lustre_llog_setattr_rec_lsr_ogen,
11340 { "Lsr Ogen", "lustre.llog_setattr_rec.lsr_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11341 { &hf_lustre_llog_logid_rec_lid_hdr,
11342 { "Lid Hdr", "lustre.llog_logid_rec.lid_hdr", FT_NONE,
11343 BASE_NONE, NULL, 0, "", HFILL } },
11344 { &hf_lustre_obdo_o_ioepoch,
11345 { "O IOEpoch", "lustre.obdo.o_ioepoch", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11346 { &hf_lustre_ost_body_oa,
11347 { "Oa", "lustre.ost_body.oa", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11348 { &hf_lustre_llog_logid_rec_padding3,
11349 { "Padding3", "lustre.llog_logid_rec.padding3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11350 { &hf_lustre_llog_log_hdr_llh_flags,
11351 { "Llh Flags", "lustre.llog_log_hdr.llh_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
11352 { &hf_lustre_llog_hdr_llh_flag_zap_when_empty,
11353 {"LLOG_F_ZAP_WHEN_EMPTY", "lustre.lustre.llog_log_hdr.llh_flag_zap",
11354 FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth),
11355 LLOG_F_ZAP_WHEN_EMPTY, "", HFILL } },
11356 { &hf_lustre_llog_hdr_llh_flag_is_cat,
11357 { "LLOG_F_IS_CAT", "lustre.lustre.llog_log_hdr.llh_flag_cat",
11358 FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth),
11359 LLOG_F_IS_CAT, "", HFILL } },
11360 { &hf_lustre_llog_hdr_llh_flag_is_play,
11361 { "LLOG_F_IS_PLAIN", "lustre.lustre.llog_log_hdr.llh_flag_play",
11362 FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth),
11363 LLOG_F_IS_PLAIN, "", HFILL } },
11365 { &hf_lustre_llog_setattr_rec_lsr_oid,
11366 { "Lsr Oid", "lustre.llog_setattr_rec.lsr_oid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11367 { &hf_lustre_llog_size_change_rec_padding,
11368 { "Padding", "lustre.llog_size_change_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11369 { &hf_lustre_mgs_target_info_mti_config_ver,
11370 { "Mti Config Ver", "lustre.mgs_target_info.mti_config_ver", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11371 { &hf_lustre_cfg_marker_cm_createtime,
11372 { "Cm Createtime", "lustre.cfg_marker.cm_createtime",FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11373 { &hf_lustre_qunit_data_old_qd_count,
11374 { "Qd Count", "lustre.qunit_data_old.qd_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11375 { &hf_lustre_llog_catid_lci_padding1,
11376 { "Lci Padding1", "lustre.llog_catid.lci_padding1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11377 { &hf_lustre_lov_desc_ld_active_tgt_count,
11378 { "Ld Active Tgt Count", "lustre.lov_desc.ld_active_tgt_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11379 { &hf_lustre_obdo_o_lcookie,
11380 { "O Lcookie", "lustre.obdo.o_lcookie", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11381 { &hf_lustre_llog_gen_rec_lgr_gen,
11382 { "Lgr Gen", "lustre.llog_gen_rec.lgr_gen", FT_NONE,
11383 BASE_NONE, NULL, 0, "", HFILL } },
11384 { &hf_lustre_obdo_o_id,
11385 { "O Id", "lustre.obdo.o_id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11386 { &hf_lustre_mgs_target_info_mti_uuid,
11387 { "Mti Uuid", "lustre.mgs_target_info.mti_uuid", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
11388 { &hf_lustre_llog_rec_hdr_lrh_index,
11389 { "Lrh Index", "lustre.llog_rec_hdr.lrh_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11390 { &hf_lustre_llog_setattr_rec_lsr_hdr,
11391 { "Lsr Hdr", "lustre.llog_setattr_rec.lsr_hdr", FT_NONE,
11392 BASE_NONE, NULL, 0, "", HFILL } },
11393 { &hf_lustre_mgs_target_info_mti_stripe_index,
11394 { "Mti Stripe Index", "lustre.mgs_target_info.mti_stripe_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11395 { &hf_lustre_llog_gen_conn_cnt,
11396 { "Conn Cnt", "lustre.llog_gen.conn_cnt", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11397 { &hf_lustre_obdo_o_padding_6,
11398 { "O Padding 6", "lustre.obdo.o_padding_6", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11399 { &hf_lustre_llog_cookie_lgc_index,
11400 { "Lgc Index", "lustre.llog_cookie.lgc_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11401 { &hf_lustre_lov_desc_ld_uuid,
11402 { "Ld Uuid", "lustre.lov_desc.ld_uuid", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11403 { &hf_lustre_ldlm_reply_lock_desc,
11404 { "Lock Desc", "lustre.ldlm_reply.lock_desc", FT_NONE,
11405 BASE_NONE, NULL, 0, "", HFILL } },
11406 { &hf_lustre_lov_desc_ld_padding_0,
11407 { "Ld Padding 0", "lustre.lov_desc.ld_padding_0", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11408 { &hf_lustre_llog_unlink_rec_lur_ogen,
11409 { "Lur Ogen", "lustre.llog_unlink_rec.lur_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11410 { &hf_lustre_cfg_marker_cm_flags,
11411 { "Cm Flags", "lustre.cfg_marker.cm_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
11412 { &hf_lustre_obdo_o_padding_3,
11413 { "O Padding 3", "lustre.obdo.o_padding_3", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11414 { &hf_lustre_ldlm_request_lock_desc,
11415 { "Lock Desc", "lustre.ldlm_request.lock_desc", FT_NONE,
11416 BASE_NONE, NULL, 0, "", HFILL } },
11417 { &hf_lustre_obdo_o_flags,
11418 { "O Flags", "lustre.obdo.o_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
11419 { &hf_lustre_mgs_target_info_mti_params,
11420 { "Mti Params", "lustre.mgs_target_info.mti_params", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
11421 { &hf_lustre_llog_logid_lgl_ogen,
11422 { "Lgl Ogen", "lustre.llog_logid.lgl_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11423 { &hf_lustre_cfg_marker_cm_comment,
11424 { "Cm Comment", "lustre.cfg_marker.cm_comment", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
11425 { &hf_lustre_llog_unlink_rec_lur_oid,
11426 { "Lur Oid", "lustre.llog_unlink_rec.lur_oid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11427 { &hf_lustre_qunit_data_qd_count,
11428 { "Qd Count", "lustre.qunit_data.qd_count", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11429 { &hf_lustre_obdo_o_mtime,
11430 { "O Mtime", "lustre.obdo.o_mtime",FT_ABSOLUTE_TIME,
11431 ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
11432 { &hf_lustre_obdo_o_blksize,
11433 { "O Blksize", "lustre.obdo.o_blksize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11434 { &hf_lustre_ldlm_res_id_name,
11435 { "Name", "lustre.ldlm_res_id.name", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11436 { &hf_lustre_ldlm_reply_lock_handle,
11437 { "Lock Handle", "lustre.ldlm_reply.lock_handle", FT_NONE,
11438 BASE_NONE, NULL, 0, "", HFILL } },
11439 { &hf_lustre_llogd_body_lgd_saved_index,
11440 { "Lgd Saved Index", "lustre.llogd_body.lgd_saved_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11441 { &hf_lustre_qunit_data_old_qd_isblk,
11442 { "Qd Isblk", "lustre.qunit_data_old.qd_isblk", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11443 { &hf_lustre_obdo_o_blocks,
11444 { "O Blocks", "lustre.obdo.o_blocks", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11445 { &hf_lustre_lov_desc_ld_padding_2,
11446 { "Ld Padding 2", "lustre.lov_desc.ld_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11447 { &hf_lustre_llog_logid_rec_lid_tail,
11448 { "Lid Tail", "lustre.llog_logid_rec.lid_tail", FT_NONE,
11449 BASE_NONE, NULL, 0, "", HFILL } },
11450 { &hf_lustre_obdo_o_grant,
11451 { "O Grant", "lustre.obdo.o_grant", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11452 { &hf_lustre_obdo_o_uid_h,
11453 { "O Uid H", "lustre.obdo.o_uid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11454 { &hf_lustre_obdo_o_gid_h,
11455 { "O Gid H", "lustre.obdo.o_gid_h", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11456 { &hf_lustre_quota_adjust_qunit_qaq_iunit_sz,
11457 { "Qaq Iunit Sz", "lustre.quota_adjust_qunit.qaq_iunit_sz", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11458 { &hf_lustre_llog_unlink_rec_padding,
11459 { "Padding", "lustre.llog_unlink_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11460 { &hf_lustre_ldlm_lock_desc_l_req_mode,
11461 { "L Req Mode", "lustre.ldlm_lock_desc.l_req_mode", FT_UINT16, BASE_DEC, VALS(lustre_ldlm_mode_vals), 0, "", HFILL }},
11462 { &hf_lustre_ldlm_extent_end,
11463 { "End", "lustre.ldlm_extent.end", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11464 { &hf_lustre_llog_gen_rec_lgr_hdr,
11465 { "Lgr Hdr", "lustre.llog_gen_rec.lgr_hdr", FT_NONE,
11466 BASE_NONE, NULL, 0, "", HFILL } },
11467 { &hf_lustre_llogd_body_lgd_llh_flags,
11468 { "Lgd Llh Flags", "lustre.llogd_body.lgd_llh_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
11469 { &hf_lustre_llog_log_hdr_llh_cat_idx,
11470 { "Llh Cat Idx", "lustre.llog_log_hdr.llh_cat_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11471 { &hf_lustre_llog_log_hdr_llh_bitmap_offset,
11472 { "Llh Bitmap Offset", "lustre.llog_log_hdr.llh_bitmap_offset", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11473 { &hf_lustre_ldlm_reply_lock_padding,
11474 { "Lock Padding", "lustre.ldlm_reply.lock_padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11475 { &hf_lustre_obd_quotactl_qc_id,
11476 { "Qc Id", "lustre.obd_quotactl.qc_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11477 { &hf_lustre_llog_logid_rec_padding4,
11478 { "Padding4", "lustre.llog_logid_rec.padding4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11479 { &hf_lustre_llog_setattr_rec_lsr_gid,
11480 { "Lsr Gid", "lustre.llog_setattr_rec.lsr_gid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11481 { &hf_lustre_obd_quotactl_qc_type,
11482 { "Qc Type", "lustre.obd_quotactl.qc_type", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11483 { &hf_lustre_cfg_marker_padding,
11484 { "Padding", "lustre.cfg_marker.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11485 { &hf_lustre_mgs_target_info_mti_nids,
11486 { "Mti Nids", "lustre.mgs_target_info.mti_nids", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11487 { &hf_lustre_obdo_o_stripe_idx,
11488 { "O Stripe Idx", "lustre.obdo.o_stripe_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11489 { &hf_lustre_llogd_conn_body_lgdc_logid,
11490 { "Lgdc Logid", "lustre.llogd_conn_body.lgdc_logid", FT_NONE,
11491 BASE_NONE, NULL, 0, "", HFILL } },
11492 { &hf_lustre_ldlm_flock_blocking_pid,
11493 { "Blocking Pid", "lustre.ldlm_flock.blocking_pid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11494 { &hf_lustre_lov_desc_ld_tgt_count,
11495 { "Ld Tgt Count", "lustre.lov_desc.ld_tgt_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11496 { &hf_lustre_llogd_body_lgd_cur_offset,
11497 { "Lgd Cur Offset", "lustre.llogd_body.lgd_cur_offset", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11498 { &hf_lustre_qunit_data_old2_qd_count,
11499 { "Qd Count", "lustre.qunit_data_old2.qd_count", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11500 { &hf_lustre_opnum,
11501 { "Operation", "lustre.opnum", FT_UINT16, BASE_DEC, NULL, 0, "", HFILL }},
11502 { &hf_lustre_qunit_data_old2_qd_flags,
11503 { "Qd Flags", "lustre.qunit_data_old2.qd_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
11504 { &hf_lustre_ldlm_flock_start,
11505 { "Start", "lustre.ldlm_flock.start", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11506 { &hf_lustre_quota_adjust_qunit_qaq_bunit_sz,
11507 { "Qaq Bunit Sz", "lustre.quota_adjust_qunit.qaq_bunit_sz", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11508 { &hf_lustre_ldlm_flock_pid,
11509 { "Pid", "lustre.ldlm_flock.pid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11510 { &hf_lustre_lov_desc_ld_default_stripe_size,
11511 { "Ld Default Stripe Size", "lustre.lov_desc.ld_default_stripe_size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11512 { &hf_lustre_llog_log_hdr_llh_tgtuuid,
11513 { "Llh Tgtuuid", "lustre.llog_log_hdr.llh_tgtuuid",
11514 FT_STRING, BASE_NONE, NULL, 0, "", HFILL } },
11515 { &hf_lustre_cfg_marker_cm_step,
11516 { "Cm Step", "lustre.cfg_marker.cm_step", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11517 { &hf_lustre_mgs_send_param_mgs_param,
11518 { "Mgs Param", "lustre.mgs_send_param.mgs_param", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
11519 { &hf_lustre_lov_desc_ld_default_stripe_offset,
11520 { "Ld Default Stripe Offset", "lustre.lov_desc.ld_default_stripe_offset", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11521 { &hf_lustre_ldlm_resource_desc_lr_name,
11522 { "Lr Name", "lustre.ldlm_resource_desc.lr_name", FT_NONE,
11523 BASE_NONE, NULL, 0, "", HFILL } },
11524 { &hf_lustre_llog_rec_tail_lrt_len,
11525 { "Lrt Len", "lustre.llog_rec_tail.lrt_len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11526 { &hf_lustre_llog_log_hdr_llh_timestamp,
11527 { "Llh Timestamp", "lustre.llog_log_hdr.llh_timestamp", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
11528 { &hf_lustre_llog_catid_lci_padding2,
11529 { "Lci Padding2", "lustre.llog_catid.lci_padding2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11530 { &hf_lustre_llogd_conn_body_lgdc_ctxt_idx,
11531 { "Lgdc Ctxt Idx", "lustre.llogd_conn_body.lgdc_ctxt_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11532 { &hf_lustre_cfg_marker_cm_canceltime,
11533 { "Cm Canceltime", "lustre.cfg_marker.cm_canceltime",FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
11534 { &hf_lustre_mgs_target_info_mti_lustre_ver,
11535 { "Mti Lustre Ver", "lustre.mgs_target_info.mti_lustre_ver", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11536 { &hf_lustre_obdo_o_parent_ver,
11537 { "O Parent VER", "lustre.obdo.o_parent_ver", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
11538 { &hf_lustre_qunit_data_qd_flags,
11539 { "Qd Flags", "lustre.qunit_data.qd_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11540 { &hf_lustre_llog_logid_rec_lid_id,
11541 { "Lid Id", "lustre.llog_logid_rec.lid_id", FT_NONE,
11542 BASE_NONE, NULL, 0, "", HFILL } },
11543 { &hf_lustre_obdo_o_parent_oid,
11544 { "O Parent OID", "lustre.obdo.o_parent_oid", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
11545 { &hf_lustre_llog_gen_mnt_cnt,
11546 { "Mnt Cnt", "lustre.llog_gen.mnt_cnt", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11547 { &hf_lustre_llog_size_change_rec_lsc_tail,
11548 { "Lsc Tail", "lustre.llog_size_change_rec.lsc_tail", FT_NONE,
11549 BASE_NONE, NULL, 0, "", HFILL } },
11550 { &hf_lustre_obdo_o_padding_5,
11551 { "O Padding 5", "lustre.obdo.o_padding_5", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11552 { &hf_lustre_ldlm_lock_desc_l_resource,
11553 { "L Resource", "lustre.ldlm_lock_desc.l_resource", FT_NONE,
11554 BASE_NONE, NULL, 0, "", HFILL } },
11555 { &hf_lustre_obdo_o_parent_seq,
11556 { "O Parent SEQ", "lustre.obdo.o_parent_seq", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL }},
11557 { &hf_lustre_ldlm_request_lock_count,
11558 { "Lock Count", "lustre.ldlm_request.lock_count", FT_UINT32, BASE_HEX_DEC, NULL, 0, "", HFILL }},
11559 { &hf_lustre_ldlm_flock_end,
11560 { "End", "lustre.ldlm_flock.end", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11561 { &hf_lustre_mgs_target_info_mti_nid_count,
11562 { "Mti Nid Count", "lustre.mgs_target_info.mti_nid_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11563 /* -------------------------------------------------------------------- */
11564 { &hf_lustre_mgs_target_info,
11565 { "mgs target info", "lustre.mgs_target_info", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
11566 { &hf_lustre_mgs_send_param,
11567 { "mgs send param", "lustre.mgs_send_param", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
11569 { &hf_lustre_mgs_config_body,
11570 { "mgs config body", "lustre.mgs_config_body", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
11571 { &hf_lustre_mgs_config_body_name,
11572 { "mcb name", "lustre.mgs_config_body.name", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
11573 { &hf_lustre_mgs_config_body_offset,
11574 { "mcb offset", "lustre.mgs_config_body.offset", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11575 { &hf_lustre_mgs_config_body_type,
11576 { "mcb type", "lustre.mgs_config_body.type", FT_UINT16, BASE_DEC, VALS(lustre_mgs_config_body_types), 0, "", HFILL }},
11577 { &hf_lustre_mgs_config_body_reserved,
11578 { "mcb reserved", "lustre.mgs_config_body.type", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
11579 { &hf_lustre_mgs_config_body_bits,
11580 { "mcb bit shift", "lustre.mgs_config_body.type", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
11581 { &hf_lustre_mgs_config_body_units,
11582 { "mcb units", "lustre.mgs_config_body.type", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11584 { &hf_lustre_mgs_config_res,
11585 { "mgs config res", "lustre.mgs_config_res", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
11586 { &hf_lustre_mgs_config_res_offset,
11587 { "mcr offset", "lustre.mgs_config_res.offset", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11588 { &hf_lustre_mgs_config_res_size,
11589 { "mcr size", "lustre.mgs_config_res.size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11591 /* -------------------------------------------------------------------- */
11592 { &hf_lustre_ost_lvb,
11593 { "ost lvb data", "lustre.ost_lvb", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
11595 { &hf_lustre_obdo_o_ctime,
11596 { "O Ctime", "lustre.obdo.o_ctime",FT_ABSOLUTE_TIME,
11597 ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
11598 { &hf_lustre_ldlm_reply_lock_policy_res2,
11599 { "Lock Policy Res2", "lustre.ldlm_reply.lock_policy_res2", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11600 { &hf_lustre_llogd_body_lgd_ctxt_idx,
11601 { "Lgd Ctxt Idx", "lustre.llogd_body.lgd_ctxt_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11602 { &hf_lustre_lov_desc_ld_qos_maxage,
11603 { "Ld Qos Maxage", "lustre.lov_desc.ld_qos_maxage", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11604 { &hf_lustre_ldlm_resource_desc_lr_type,
11605 { "Lr Type", "lustre.ldlm_resource_desc.lr_type", FT_UINT16, BASE_DEC, VALS(lustre_ldlm_type_vals), 0, "", HFILL }},
11606 { &hf_lustre_llog_setattr_rec_lsr_tail,
11607 { "Lsr Tail", "lustre.llog_setattr_rec.lsr_tail", FT_NONE,
11608 BASE_NONE, NULL, 0, "", HFILL } },
11609 { &hf_lustre_llog_cookie_lgc_subsys,
11610 { "Lgc Subsys", "lustre.llog_cookie.lgc_subsys", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11611 { &hf_lustre_llog_log_hdr_llh_hdr,
11612 { "Llh Hdr", "lustre.llog_log_hdr.llh_hdr", FT_NONE,
11613 BASE_NONE, NULL, 0, "", HFILL } },
11614 { &hf_lustre_llog_log_hdr_llh_reserved,
11615 { "Llh Reserved", "lustre.llog_log_hdr.llh_reserved", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11617 { &hf_lustre_extra_padding,
11618 { "extra padding", "lustre.msg_v2_extra_padding", FT_NONE, BASE_NONE, NULL, 0, "", HFILL}},
11619 { &hf_lustre_ldlm_reply,
11620 { "ldlm reply", "lustre.ldlm_reply", FT_NONE, BASE_NONE, NULL, 0, "", HFILL}},
11621 { &hf_lustre_ldlm_request,
11622 { "ldlm request", "lustre.ldlm_request", FT_NONE, BASE_NONE, NULL, 0, "", HFILL}},
11624 /* add for lustre_user.h */
11625 { &hf_lustre_obd_dqinfo_dqi_valid,
11626 { "Dqi Valid", "lustre.obd_dqinfo.dqi_valid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11627 { &hf_lustre_obd_dqblk_dqb_isoftlimit,
11628 { "Dqb Isoftlimit", "lustre.obd_dqblk.dqb_isoftlimit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11629 { &hf_lustre_obd_dqblk_dqb_bhardlimit,
11630 { "Dqb Bhardlimit", "lustre.obd_dqblk.dqb_bhardlimit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11631 { &hf_lustre_obd_dqblk_dqb_curspace,
11632 { "Dqb Curspace", "lustre.obd_dqblk.dqb_curspace", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11633 { &hf_lustre_obd_dqblk_dqb_itime,
11634 { "Dqb Itime", "lustre.obd_dqblk.dqb_itime", FT_ABSOLUTE_TIME,
11635 ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
11636 { &hf_lustre_obd_dqblk_dqb_valid,
11637 { "Dqb Valid", "lustre.obd_dqblk.dqb_valid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11638 { &hf_lustre_obd_dqinfo_dqi_igrace,
11639 { "Dqi Igrace", "lustre.obd_dqinfo.dqi_igrace", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11640 { &hf_lustre_obd_dqinfo_dqi_bgrace,
11641 { "Dqi Bgrace", "lustre.obd_dqinfo.dqi_bgrace", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11642 { &hf_lustre_obd_dqblk_padding,
11643 { "Padding", "lustre.obd_dqblk.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
11644 { &hf_lustre_obd_dqblk_dqb_curinodes,
11645 { "Dqb Curinodes", "lustre.obd_dqblk.dqb_curinodes", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11646 { &hf_lustre_obd_dqblk_dqb_bsoftlimit,
11647 { "Dqb Bsoftlimit", "lustre.obd_dqblk.dqb_bsoftlimit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
11648 { &hf_lustre_obd_dqinfo_dqi_flags,
11649 { "Dqi Flags", "lustre.obd_dqinfo.dqi_flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
11650 { &hf_lustre_obd_dqblk_dqb_btime,
11651 { "Dqb Btime", "lustre.obd_dqblk.dqb_btime", FT_ABSOLUTE_TIME,
11652 ABSOLUTE_TIME_LOCAL, NULL, 0, "", HFILL } },
11653 { &hf_lustre_obd_dqblk_dqb_ihardlimit,
11654 { "Dqb Ihardlimit", "lustre.obd_dqblk.dqb_ihardlimit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
11657 { &hf_lustre_seq_opc,
11658 { "Seq OPC", "lustre.seq_opc", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL } },
11659 { &hf_lustre_seq_range,
11660 { "Seq Range", "lustre.seq_range", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11661 { &hf_lustre_seq_range_start,
11662 { "Seq Range Start", "lustre.seq_range.start", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL } },
11663 { &hf_lustre_seq_range_end,
11664 { "Seq Range End", "lustre.seq_range.end", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL } },
11665 { &hf_lustre_seq_range_index,
11666 { "Seq Range Index", "lustre.seq_range.index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL } },
11667 { &hf_lustre_seq_range_flags,
11668 { "Seq Range Flags", "lustre.seq_range.flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
11671 { &hf_lustre_fld_opc,
11672 { "Fld OPC", "lustre.fld_opc", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL } },
11673 { &hf_lustre_fld_range,
11674 { "Fld Range", "lustre.fld_range", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11675 { &hf_lustre_fld_range_start,
11676 { "Fld Range Start", "lustre.fld_range.start", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL } },
11677 { &hf_lustre_fld_range_end,
11678 { "Fld Range End", "lustre.fld_range.end", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL } },
11679 { &hf_lustre_fld_range_index,
11680 { "Fld Range Index", "lustre.fld_range.index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL } },
11681 { &hf_lustre_fld_range_flags,
11682 { "Fld Range Flags", "lustre.fld_range.flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
11684 /* struct mdt_ioepoch */
11685 { &hf_lustre_mdt_ioepoch,
11686 { "MDT ioepoch", "lustre.mdt_ioepoch", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11687 { &hf_lustre_mdt_ioepoch_handle,
11688 { "Handle", "lustre.mdt_ioepoch.handle", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11689 { &hf_lustre_mdt_ioepoch_ioepoch,
11690 { "ioepoch", "lustre.mdt_ioepoch.ioepoch", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
11691 { &hf_lustre_mdt_ioepoch_flags,
11692 { "flags", "lustre.mdt_ioepoch.flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
11693 { &hf_lustre_mdt_ioepoch_padding,
11694 { "Padding", "lustre.mdt_ioepoch.padding", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
11696 /* struct lustre_capa */
11698 { "Capability", "lustre.capa", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11699 { &hf_lustre_capa_fid,
11700 { "Capa fid", "lustre.capa.fid", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11701 { &hf_lustre_capa_opc,
11702 { "Capa opc", "lustre.capa.opc", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL } },
11703 { &hf_lustre_capa_uid,
11704 { "Capa uid", "lustre.capa.uid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
11705 { &hf_lustre_capa_gid,
11706 { "Capa gid", "lustre.capa.gid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
11707 { &hf_lustre_capa_flags,
11708 { "Capa flags", "lustre.capa.flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
11709 { &hf_lustre_capa_keyid,
11710 { "Capa keyid", "lustre.capa.keyid", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
11711 { &hf_lustre_capa_timeout,
11712 { "Capa timeout", "lustre.capa.timeout", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL } },
11713 { &hf_lustre_capa_expiry,
11714 { "Capa expiry", "lustre.capa.expiry", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL } },
11715 { &hf_lustre_capa_hmac,
11716 { "Capa hmac", "lustre.capa.hmac", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11720 { "ACL", "lustre.acl", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11723 { &hf_lustre_mdt_getinfo_key,
11724 { "MDT getinfo key", "lustre.mdt_getinfo.key", FT_STRING, BASE_NONE, NULL, 0, "", HFILL } },
11725 { &hf_lustre_mdt_getinfo_vallen,
11726 { "MDT getinfo Val Len", "lustre.mdt_getinfo.vallen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL } },
11727 { &hf_lustre_mdt_getinfo_data,
11728 { "MDT getinfo data", "lustre.mdt_getinfo.data", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11731 { &hf_lustre_close_data,
11732 { "MDT Close", "lustre.mdt_close", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11733 { &hf_lustre_close_fid,
11734 { "Close FID", "lustre.mdt_close.fid", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11735 { &hf_lustre_close_data_ver,
11736 { "Close data version", "lustre.mdt_close.data_ver", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL } },
11737 { &hf_lustre_close_reserved,
11738 { "Close Reserved Space", "lustre.mdt_close.reserved", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11740 /* LDLM SET INFO */
11741 { &hf_lustre_ldlm_key,
11742 { "LDLM Set Info Key", "lustre.ldlm.key", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
11743 { &hf_lustre_ldlm_value,
11744 { "LDLM Set Info Value", "lustre.ldlm.value", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11747 { &hf_lustre_hsm_request,
11748 { "HSM Request", "lustre.hsm_req", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11749 { &hf_lustre_hsm_req_action,
11750 { "HSM Req Action", "lustre.hsm_req.action", FT_UINT32, BASE_HEX, VALS(lustre_hsm_user_action_t_vals), 0, "", HFILL } },
11751 { &hf_lustre_hsm_req_archive_id,
11752 { "HSM Req Archive ID", "lustre.hsm_req.archive_id", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
11753 { &hf_lustre_hsm_req_flags,
11754 { "HSM Req Flags", "lustre.hsm_req.flags", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL } },
11755 { &hf_lustre_hsm_req_itemcount,
11756 { "HSM Req Itemcount", "lustre.hsm_req.itemcount", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL } },
11757 { &hf_lustre_hsm_req_data_len,
11758 { "HSM Req Data Length", "lustre.hsm_req.data_len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL } },
11760 { &hf_lustre_hsm_user_item,
11761 { "HSM User Item", "lustre.user_item", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11762 { &hf_lustre_hsm_user_item_fid,
11763 { "HSM User Item FID", "lustre.user_item.fid", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11764 { &hf_lustre_hsm_user_item_extent,
11765 { "HSM User Item Extent", "lustre.user_item.extent", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11767 { &hf_lustre_hsm_extent,
11768 { "HSM Extent", "lustre.hsm_extent", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11769 { &hf_lustre_hsm_extent_offset,
11770 { "HSM Extent Offset", "lustre.hsm_extent.offset", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
11771 { &hf_lustre_hsm_extent_length,
11772 { "HSM Extent Length", "lustre.hsm_extent.len", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
11774 { &hf_lustre_hsm_progress,
11775 { "HSM Progress", "lustre.hsm_progress", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11776 { &hf_lustre_hsm_prog_fid,
11777 { "HSM Prog FID", "lustre.hsm_progress.fid", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11778 { &hf_lustre_hsm_prog_cookie,
11779 { "HSM Prog Cookie", "lustre.hsm_progress.cookie", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL } },
11780 { &hf_lustre_hsm_prog_extent,
11781 { "HSM Prog Extent", "lustre.hsm_progress.extent", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11782 { &hf_lustre_hsm_prog_flags,
11783 { "HSM Prog Flags", "lustre.hsm_progress.flags", FT_UINT16, BASE_HEX, NULL, 0, "", HFILL } },
11784 { &hf_lustre_hsm_prog_errval,
11785 { "HSM Prog Error Val", "lustre.hsm_progress.errval", FT_UINT16, BASE_HEX, NULL, 0, "", HFILL } },
11786 { &hf_lustre_hsm_prog_data_ver,
11787 { "HSM Prog Data Version", "lustre.hsm_progress.data_ver", FT_UINT64, BASE_HEX, NULL, 0, "", HFILL } },
11789 { &hf_lustre_hsm_state_get,
11790 { "HSM State GET", "lustre.hsm_state_get", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11791 { &hf_lustre_hsm_us_states,
11792 { "States", "lustre.hsm_state_get.states", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
11793 { &hf_lustre_hsm_us_archive_id,
11794 { "Archive ID", "lustre.hsm_state_get.archive_id", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
11795 { &hf_lustre_hsm_us_in_prog_state,
11796 { "In Progress State", "lustre.hsm_state_get.in_prog.state", FT_UINT32, BASE_HEX, VALS(lustre_hsm_progress_state_t_vals), 0, "", HFILL } },
11797 { &hf_lustre_hsm_us_in_prog_action,
11798 { "In Progress Action", "lustre.hsm_state_get.in_prog.action", FT_UINT32, BASE_HEX, VALS(lustre_hsm_user_action_t_vals), 0, "", HFILL } },
11799 { &hf_lustre_hsm_us_in_prog_location,
11800 { "In Progress Extent", "lustre.hsm_state_get.in_prog.location", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11801 { &hf_lustre_hsm_us_ext_info,
11802 { "Extended Info", "lustre.hsm_state_get.ext_info", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11805 { "Quota Body", "lustre.quota_body", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11806 { &hf_lustre_qb_fid,
11807 { "Fid", "lustre.quota_body.fid", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11808 { &hf_lustre_qb_id,
11809 { "ID", "lustre.quota_body.id", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11810 { &hf_lustre_qb_flags,
11811 { "Flags", "lustre.quota_body.flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
11812 { &hf_lustre_qb_padding,
11813 { "padding", "lustre.quota_body.padding", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11814 { &hf_lustre_qb_count,
11815 { "Count", "lustre.quota_body.count", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
11816 { &hf_lustre_qb_usage,
11817 { "Usage", "lustre.quota_body.usage", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
11818 { &hf_lustre_qb_slv_ver,
11819 { "Slave Ver", "lustre.quota_body.slv_ver", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
11820 { &hf_lustre_qb_lockh,
11821 { "Per-ID Lock Handle", "lustre.quota_body.lockh", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11822 { &hf_lustre_qb_glb_lockh,
11823 { "Global Lock Handle", "lustre.quota_body.glb_lockh", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11825 { &hf_lustre_qid_fid,
11826 { "Fid", "lustre.lquota_id.fid", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11827 { &hf_lustre_qid_uid,
11828 { "UID", "lustre.lquota_id.uid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
11829 { &hf_lustre_qid_gid,
11830 { "GID", "lustre.lquota_id.gid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
11832 { &hf_lustre_layout_intent,
11833 { "Layout Intent", "lustre.layout_intent", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
11834 { &hf_lustre_layout_intent_opc,
11835 { "Op Code", "lustre.layout_intent.opc", FT_UINT32, BASE_HEX, VALS(lustre_layout_intent_opc_values), 0, "", HFILL } },
11836 { &hf_lustre_layout_intent_flags,
11837 { "Flags", "lustre.layout_intent.flags", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL } },
11838 { &hf_lustre_layout_intent_start,
11839 { "Start", "lustre.layout_intent.start", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
11840 { &hf_lustre_layout_intent_end,
11841 { "End", "lustre.layout_intent.end", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL } },
11843 { &hf_lustre_generic_data,
11844 { "generic data", "lustre.generic_data", FT_NONE, BASE_NONE, NULL, 0, "", HFILL}},
11848 static gint *ett[] = {
11850 &ett_lustre_lustre_handle_cookie,
11851 &ett_lustre_lustre_msg_v1,
11852 &ett_lustre_lustre_handle_v1,
11853 &ett_lustre_lustre_msg_v2,
11854 &ett_lustre_ptlrpc_body,
11855 &ett_lustre_lustre_handle_v2,
11856 &ett_lustre_obd_connect_data,
11857 &ett_lustre_lov_mds_md_v1,
11858 &ett_lustre_lov_ost_data_v1,
11859 &ett_lustre_obd_statfs,
11860 &ett_lustre_obd_ioobj,
11861 &ett_lustre_niobuf_remote,
11862 &ett_lustre_ost_lvb,
11863 &ett_lustre_ll_fid,
11864 &ett_lustre_obd_quotactl,
11865 &ett_lustre_obd_dqinfo,
11866 &ett_lustre_obd_dqblk,
11867 &ett_lustre_quota_adjust_qunit,
11868 &ett_lustre_mdt_body,
11869 &ett_lustre_mdt_rec_setattr,
11870 &ett_lustre_mdt_rec_create,
11871 &ett_lustre_mdt_rec_link,
11872 &ett_lustre_mdt_rec_unlink,
11873 &ett_lustre_mdt_rec_rename,
11874 &ett_lustre_mdt_rec_setxattr,
11875 &ett_lustre_lov_desc,
11876 &ett_lustre_obd_uuid,
11877 &ett_lustre_ldlm_res_id,
11878 &ett_lustre_ldlm_extent,
11879 &ett_lustre_ldlm_inodebits,
11880 &ett_lustre_ldlm_flock,
11881 &ett_lustre_ldlm_intent_opc,
11882 &ett_lustre_ldlm_resource_desc,
11883 &ett_lustre_ldlm_lock_desc,
11884 &ett_lustre_ldlm_request,
11885 &ett_lustre_lustre_handle,
11886 &ett_lustre_ldlm_reply,
11887 &ett_lustre_mgs_send_param,
11888 &ett_lustre_mgs_target_info,
11889 &ett_lustre_mgs_config_body,
11890 &ett_lustre_mgs_config_res,
11891 &ett_lustre_cfg_marker,
11892 &ett_lustre_llog_catid,
11893 &ett_lustre_llog_logid,
11894 &ett_lustre_lov_mds_md,
11895 &ett_lustre_llog_rec_hdr,
11896 &ett_lustre_llog_rec_tail,
11897 &ett_lustre_llog_logid_rec,
11898 &ett_lustre_llog_unlink_rec,
11899 &ett_lustre_llog_setattr_rec,
11900 &ett_lustre_llog_size_change_rec,
11901 &ett_lustre_llog_gen,
11902 &ett_lustre_llog_gen_rec,
11903 &ett_lustre_llog_log_hdr,
11904 &ett_lustre_llog_cookie,
11905 &ett_lustre_llogd_body,
11906 &ett_lustre_llogd_conn_body,
11908 &ett_lustre_ost_body,
11909 &ett_lustre_qunit_data,
11910 &ett_lustre_qunit_data_old2,
11911 &ett_lustre_qunit_data_old,
11912 &ett_lustre_ldlm_lock_flags,
11913 &ett_lustre_llog_log_llh_flags,
11914 &ett_lustre_seq_range,
11915 &ett_lustre_fld_range,
11916 &ett_lustre_mdt_ioepoch,
11918 &ett_lustre_close_data,
11920 &ett_lustre_ladvise,
11921 &ett_lustre_hsm_request,
11922 &ett_lustre_hsm_user_item,
11923 &ett_lustre_hsm_extent,
11924 &ett_lustre_hsm_progress,
11925 &ett_lustre_hsm_user_state,
11926 &ett_lustre_quota_body,
11927 &ett_lustre_lquota_id,
11928 &ett_lustre_layout_intent,
11931 proto_lustre = proto_register_protocol("Lustre", "lustre", "lustre");
11932 proto_register_field_array(proto_lustre, hf, array_length (hf));
11933 proto_register_subtree_array(ett, array_length(ett));
11937 void proto_reg_handoff_lustre(void)
11939 dissector_handle_t lustre_handle;
11940 lustre_handle=create_dissector_handle(dissect_lustre, proto_lustre);
11941 /* we use Lustre only if we get ptl_index = One of this code (we have removed the bulk code) */
11942 /* in LNET we test if the message is a put or not before adding an lnet.ptl_index value */
11943 dissector_add_uint("lnet.ptl_index", MDC_REPLY_PORTAL , lustre_handle);
11944 dissector_add_uint("lnet.ptl_index", CONNMGR_REQUEST_PORTAL , lustre_handle);
11945 dissector_add_uint("lnet.ptl_index", CONNMGR_REPLY_PORTAL , lustre_handle);
11946 dissector_add_uint("lnet.ptl_index", OSC_REPLY_PORTAL , lustre_handle);
11947 dissector_add_uint("lnet.ptl_index", OST_IO_PORTAL , lustre_handle);
11948 dissector_add_uint("lnet.ptl_index", OST_CREATE_PORTAL , lustre_handle);
11949 dissector_add_uint("lnet.ptl_index", MDC_REPLY_PORTAL , lustre_handle);
11950 dissector_add_uint("lnet.ptl_index", MDS_REQUEST_PORTAL , lustre_handle);
11951 dissector_add_uint("lnet.ptl_index", LDLM_CB_REQUEST_PORTAL , lustre_handle);
11952 dissector_add_uint("lnet.ptl_index", LDLM_CB_REPLY_PORTAL , lustre_handle);
11953 dissector_add_uint("lnet.ptl_index", LDLM_CANCEL_REQUEST_PORTAL, lustre_handle);
11954 dissector_add_uint("lnet.ptl_index", LDLM_CANCEL_REPLY_PORTAL , lustre_handle);
11955 dissector_add_uint("lnet.ptl_index", MDS_SETATTR_PORTAL , lustre_handle);
11956 dissector_add_uint("lnet.ptl_index", MDS_READPAGE_PORTAL , lustre_handle);
11957 dissector_add_uint("lnet.ptl_index", MGC_REPLY_PORTAL , lustre_handle);
11958 dissector_add_uint("lnet.ptl_index", MGS_REQUEST_PORTAL , lustre_handle);
11959 dissector_add_uint("lnet.ptl_index", MGS_REPLY_PORTAL , lustre_handle);
11960 dissector_add_uint("lnet.ptl_index", OST_REQUEST_PORTAL , lustre_handle);
11961 dissector_add_uint("lnet.ptl_index", FLD_REQUEST_PORTAL, lustre_handle);
11962 dissector_add_uint("lnet.ptl_index", SEQ_METADATA_PORTAL, lustre_handle);
11963 dissector_add_uint("lnet.ptl_index", SEQ_DATA_PORTAL, lustre_handle);
11964 dissector_add_uint("lnet.ptl_index", SEQ_CONTROLLER_PORTAL, lustre_handle);