Whamcloud - gitweb
LU-7659 mdc: expose changelog through char devices
[fs/lustre-release.git] / lustre / contrib / wireshark / packet-lustre.c
index 1014dcc..bfd2b6c 100644 (file)
@@ -24,7 +24,7 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  *
- * Copyright (c) 2011, 2012, Intel Corporation.
+ * Copyright (c) 2011, 2016, Intel Corporation.
  */
 
 #ifdef HAVE_CONFIG_H
@@ -37,6 +37,7 @@
 #include <epan/packet.h>
 
 #include <epan/dissectors/packet-windows-common.h>
+#include "lustre_dlm_flags.h"
 
 const true_false_string lnet_flags_set_truth = { "Set", "Unset" };
 
@@ -180,6 +181,7 @@ typedef enum {
   OST_QUOTACHECK = 18,
   OST_QUOTACTL   = 19,
   OST_QUOTA_ADJUST_QUNIT = 20,
+  OST_LADVISE = 21,
   OST_LAST_OPC
 } ost_cmd_t ;
 
@@ -196,28 +198,36 @@ typedef enum {
  * in lustre/include/lustre/lustre_idl.h
  */
 typedef enum {
-  MDS_GETATTR      = 33,
-  MDS_GETATTR_NAME = 34,
-  MDS_CLOSE        = 35,
-  MDS_REINT        = 36,
-  MDS_READPAGE     = 37,
-  MDS_CONNECT      = 38,
-  MDS_DISCONNECT   = 39,
-  MDS_GETSTATUS    = 40,
-  MDS_STATFS       = 41,
-  MDS_PIN          = 42,
-  MDS_UNPIN        = 43,
-  MDS_SYNC         = 44,
-  MDS_DONE_WRITING = 45,
-  MDS_SET_INFO     = 46,
-  MDS_QUOTACHECK   = 47,
-  MDS_QUOTACTL     = 48,
-  MDS_GETXATTR     = 49,
-  MDS_SETXATTR     = 50,
-  MDS_WRITEPAGE    = 51,
-  MDS_IS_SUBDIR    = 52,
-  MDS_GET_INFO     = 53,
-  MDS_LAST_OPC
+       MDS_GETATTR             = 33,
+       MDS_GETATTR_NAME        = 34,
+       MDS_CLOSE               = 35,
+       MDS_REINT               = 36,
+       MDS_READPAGE            = 37,
+       MDS_CONNECT             = 38,
+       MDS_DISCONNECT          = 39,
+       MDS_GET_ROOT            = 40,
+       MDS_STATFS              = 41,
+       MDS_PIN                 = 42,
+       MDS_UNPIN               = 43,
+       MDS_SYNC                = 44,
+       MDS_DONE_WRITING        = 45,
+       MDS_SET_INFO            = 46,
+       MDS_QUOTACHECK          = 47,
+       MDS_QUOTACTL            = 48,
+       MDS_GETXATTR            = 49,
+       MDS_SETXATTR            = 50,
+       MDS_WRITEPAGE           = 51,
+       MDS_IS_SUBDIR           = 52,
+       MDS_GET_INFO            = 53,
+       MDS_HSM_STATE_GET       = 54,
+       MDS_HSM_STATE_SET       = 55,
+       MDS_HSM_ACTION          = 56,
+       MDS_HSM_PROGRESS        = 57,
+       MDS_HSM_REQUEST         = 58,
+       MDS_HSM_CT_REGISTER     = 59,
+       MDS_HSM_CT_UNREGISTER   = 60,
+       MDS_SWAP_LAYOUTS        = 61,
+       MDS_LAST_OPC
 } mds_cmd_t;
 
 #define IT_OPEN     0x0001
@@ -243,12 +253,12 @@ typedef enum {
   REINT_RENAME   = 5,
   REINT_OPEN     = 6,
   REINT_SETXATTR = 7,
-  //      REINT_CLOSE    = 8,
-  //      REINT_WRITE    = 9,
+  REINT_RMENTRY  = 8,
+  REINT_MIGRATE  = 9,
   REINT_MAX
 } mds_reint_t;
 
-typedef enum {
+enum ldlm_cmd {
   LDLM_ENQUEUE     = 101,
   LDLM_CONVERT     = 102,
   LDLM_CANCEL      = 103,
@@ -256,7 +266,7 @@ typedef enum {
   LDLM_CP_CALLBACK = 105,
   LDLM_GL_CALLBACK = 106,
   LDLM_LAST_OPC
-} ldlm_cmd_t;
+};
 #define LDLM_FIRST_OPC LDLM_ENQUEUE
 
 enum seq_rpc_opc {
@@ -271,39 +281,6 @@ enum fld_rpc_opc {
   FLD_FIRST_OPC    = FLD_QUERY
 };
 
-#define LDLM_FL_LOCK_CHANGED                      0x000001
-#define LDLM_FL_BLOCK_GRANTED                     0x000002
-#define LDLM_FL_BLOCK_CONV                        0x000004
-#define LDLM_FL_BLOCK_WAIT                        0x000008
-#define LDLM_FL_CBPENDING              0x000010
-#define LDLM_FL_AST_SENT                          0x000020
-#define LDLM_FL_WAIT_NOREPROC          0x000040
-#define LDLM_FL_CANCEL                 0x000080
-#define LDLM_FL_REPLAY                            0x000100
-#define LDLM_FL_INTENT_ONLY                       0x000200
-#define LDLM_FL_LOCAL_ONLY             0x000400
-#define LDLM_FL_FAILED                 0x000800
-#define LDLM_FL_HAS_INTENT                        0x001000
-#define LDLM_FL_CANCELING              0x002000
-#define LDLM_FL_LOCAL                  0x004000
-#define LDLM_FL_WARN                   0x008000
-#define LDLM_FL_DISCARD_DATA                      0x010000
-#define LDLM_FL_NO_TIMEOUT                        0x020000
-#define LDLM_FL_BLOCK_NOWAIT                      0x040000
-#define LDLM_FL_TEST_LOCK                         0x080000
-#define LDLM_FL_LVB_READY              0x100000
-#define LDLM_FL_KMS_IGNORE             0x200000
-#define LDLM_FL_NO_LRU                 0x400000
-#define LDLM_FL_CANCEL_ON_BLOCK                   0x800000
-#define LDLM_FL_CP_REQD                        0x1000000
-#define LDLM_FL_CLEANED                        0x2000000
-#define LDLM_FL_ATOMIC_CB              0x4000000
-#define LDLM_FL_BL_AST                 0x10000000
-#define LDLM_FL_BL_DONE                        0x20000000
-#define LDLM_FL_DENY_ON_CONTENTION              0x40000000
-#define LDLM_AST_DISCARD_DATA                   0x80000000
-
-
 #define LDLM_ENQUEUE (101)
 #define LDLM_CONVERT (102)
 #define LDLM_CANCEL (103)
@@ -435,8 +412,6 @@ static gint ett_lustre_llog_logid_rec = -1;
 static gint ett_lustre_llog_logid = -1;
 static gint ett_lustre_llog_rec_tail = -1;
 static gint ett_lustre_lov_mds_md = -1;
-static gint ett_lustre_llog_create_rec = -1;
-static gint ett_lustre_llog_orphan_rec = -1;
 static gint ett_lustre_llog_unlink_rec = -1;
 static gint ett_lustre_llog_setattr_rec = -1;
 static gint ett_lustre_llog_size_change_rec = -1;
@@ -457,6 +432,7 @@ static gint ett_lustre_fld_range = -1;
 static gint ett_lustre_mdt_ioepoch = -1;
 static gint ett_lustre_capa = -1;
 static gint ett_lustre_acl = -1;
+static gint ett_lustre_ladvise = -1;
 
 /* -----------------------------------------------*/
 /* Header field declarations */
@@ -512,37 +488,7 @@ static int hf_lustre_mgs_config_res_size = -1;
 
 static int hf_lustre_ost_lvb = -1 ;
 
-static int hf_lustre_ldlm_fl_lock_changed        = -1;
-static int hf_lustre_ldlm_fl_block_granted       = -1;
-static int hf_lustre_ldlm_fl_block_conv          = -1;
-static int hf_lustre_ldlm_fl_block_wait          = -1;
-static int hf_lustre_ldlm_fl_cbpending           = -1;
-static int hf_lustre_ldlm_fl_ast_sent            = -1;
-static int hf_lustre_ldlm_fl_wait_noreproc       = -1;
-static int hf_lustre_ldlm_fl_cancel              = -1;
-static int hf_lustre_ldlm_fl_replay              = -1;
-static int hf_lustre_ldlm_fl_intent_only         = -1;
-static int hf_lustre_ldlm_fl_local_only          = -1;
-static int hf_lustre_ldlm_fl_failed              = -1;
-static int hf_lustre_ldlm_fl_has_intent          = -1;
-static int hf_lustre_ldlm_fl_canceling           = -1;
-static int hf_lustre_ldlm_fl_local               = -1;
-static int hf_lustre_ldlm_fl_warn                = -1;
-static int hf_lustre_ldlm_fl_discard_data        = -1;
-static int hf_lustre_ldlm_fl_no_timeout          = -1;
-static int hf_lustre_ldlm_fl_block_nowait        = -1;
-static int hf_lustre_ldlm_fl_test_lock           = -1;
-static int hf_lustre_ldlm_fl_lvb_ready           = -1;
-static int hf_lustre_ldlm_fl_kms_ignore          = -1;
-static int hf_lustre_ldlm_fl_no_lru              = -1;
-static int hf_lustre_ldlm_fl_cancel_on_block     = -1;
-static int hf_lustre_ldlm_fl_cp_reqd             = -1;
-static int hf_lustre_ldlm_fl_cleaned             = -1;
-static int hf_lustre_ldlm_fl_atomic_cb           = -1;
-static int hf_lustre_ldlm_fl_bl_ast              = -1;
-static int hf_lustre_ldlm_fl_bl_done             = -1;
-static int hf_lustre_ldlm_fl_deny_on_contention  = -1;
-static int hf_lustre_ldlm_ast_discard_data       = -1;
+#define hf_lustre_ldlm_ast_discard_data hf_lustre_ldlm_fl_ast_discard_data
 
 static int hf_lustre_mdt_body = -1 ;
 static int hf_lustre_mdt_body_fid1 = -1;
@@ -900,7 +846,6 @@ static int hf_lustre_llog_log_hdr_llh_bitmap = -1;
 static int hf_lustre_obd_quotactl_qc_stat = -1;
 static int hf_lustre_qunit_data_old2_qd_id = -1;
 static int hf_lustre_llog_logid_rec_padding2 = -1;
-static int hf_lustre_llog_orphan_rec_lor_tail = -1;
 static int hf_lustre_llog_logid_rec_padding5 = -1;
 static int hf_lustre_ldlm_intent_opc = -1;
 static int hf_lustre_llog_rec_hdr_lrh_type = -1;
@@ -915,9 +860,7 @@ static int hf_lustre_llog_log_hdr_llh_tail = -1;
 static int hf_lustre_obdo_o_size = -1;
 static int hf_lustre_ldlm_extent_start = -1;
 static int hf_lustre_llog_size_change_rec_lsc_hdr = -1;
-static int hf_lustre_llog_create_rec_lcr_tail = -1;
 static int hf_lustre_llog_logid_lgl_oseq = -1;
-static int hf_lustre_llog_create_rec_lcr_hdr = -1;
 static int hf_lustre_llog_cookie_lgc_padding = -1;
 static int hf_lustre_qunit_data_old_qd_type = -1;
 static int hf_lustre_ldlm_flock_blocking_export = -1;
@@ -929,7 +872,6 @@ static int hf_lustre_obdo_o_mode = -1;
 static int hf_lustre_mgs_target_info_mti_svname = -1;
 static int hf_lustre_llogd_body_lgd_logid = -1;
 static int hf_lustre_llog_log_hdr_llh_size = -1;
-static int hf_lustre_llog_create_rec_padding = -1;
 static int hf_lustre_obdo_o_handle = -1;
 static int hf_lustre_obdo_o_atime = -1;
 static int hf_lustre_quota_adjust_qunit_qaq_id = -1;
@@ -972,15 +914,12 @@ static int hf_lustre_llog_gen_conn_cnt = -1;
 static int hf_lustre_obdo_o_padding_6 = -1;
 static int hf_lustre_llog_cookie_lgc_index = -1;
 static int hf_lustre_lov_desc_ld_uuid = -1;
-static int hf_lustre_llog_create_rec_lcr_oid = -1;
 static int hf_lustre_ldlm_reply_lock_desc = -1;
 static int hf_lustre_lov_desc_ld_padding_0 = -1;
 static int hf_lustre_llog_unlink_rec_lur_ogen = -1;
-static int hf_lustre_llog_orphan_rec_lor_hdr = -1;
 static int hf_lustre_cfg_marker_cm_flags = -1;
 static int hf_lustre_obdo_o_padding_3 = -1;
 static int hf_lustre_ldlm_request_lock_desc = -1;
-static int hf_lustre_llog_orphan_rec_padding = -1;
 static int hf_lustre_obdo_o_flags = -1;
 static int hf_lustre_mgs_target_info_mti_params = -1;
 static int hf_lustre_llog_logid_lgl_ogen = -1;
@@ -1004,11 +943,9 @@ static int hf_lustre_llog_unlink_rec_padding = -1;
 static int hf_lustre_ldlm_lock_desc_l_req_mode = -1;
 static int hf_lustre_ldlm_extent_end = -1;
 static int hf_lustre_llog_gen_rec_lgr_hdr = -1;
-static int hf_lustre_llog_orphan_rec_lor_ogen = -1;
 static int hf_lustre_llogd_body_lgd_llh_flags = -1;
 static int hf_lustre_llog_log_hdr_llh_cat_idx = -1;
 static int hf_lustre_llog_log_hdr_llh_bitmap_offset=-1;
-static int hf_lustre_llog_orphan_rec_lor_oid = -1;
 static int hf_lustre_ldlm_reply_lock_padding = -1;
 static int hf_lustre_obd_quotactl_qc_id = -1;
 static int hf_lustre_llog_logid_rec_padding4 = -1;
@@ -1021,7 +958,6 @@ static int hf_lustre_llogd_conn_body_lgdc_logid = -1;
 static int hf_lustre_ldlm_flock_blocking_pid = -1;
 static int hf_lustre_lov_desc_ld_tgt_count = -1;
 static int hf_lustre_llogd_body_lgd_cur_offset=-1;
-static int hf_lustre_llog_create_rec_lcr_ogen = -1;
 static int hf_lustre_qunit_data_old2_qd_count = -1;
 static int hf_lustre_qunit_data_old2_qd_flags = -1;
 static int hf_lustre_ldlm_flock_start = -1;
@@ -1031,7 +967,6 @@ static int hf_lustre_lov_desc_ld_default_stripe_size = -1;
 static int hf_lustre_llog_log_hdr_llh_tgtuuid = -1;
 static int hf_lustre_cfg_marker_cm_step = -1;
 static int hf_lustre_mgs_send_param_mgs_param = -1;
-static int hf_lustre_llog_create_rec_lcr_fid = -1;
 static int hf_lustre_lov_desc_ld_default_stripe_offset=-1;
 static int hf_lustre_ldlm_resource_desc_lr_name = -1;
 static int hf_lustre_llog_rec_tail_lrt_len = -1;
@@ -1089,17 +1024,28 @@ static int hf_lustre_ldlm_intent_opc_pin      = -1;
 static int hf_lustre_llog_hdr_llh_flag_zap_when_empty = -1;
 static int hf_lustre_llog_hdr_llh_flag_is_cat = -1;
 static int hf_lustre_llog_hdr_llh_flag_is_play = -1;
+static int hf_lustre_lu_ladvise = -1;
+static int hf_lustre_lu_ladvise_lla_start = -1;
+static int hf_lustre_lu_ladvise_lla_end = -1;
+static int hf_lustre_lu_ladvise_lla_advice = -1;
+static int hf_lustre_lu_ladvise_lla_padding = -1;
 /* --------------------------------------------------------------------*/
 
 
 /* proto declaration */
 static gint proto_lustre = -1;
 
+typedef int (dissect_func)(
+    tvbuff_t *tvb, gint offset, packet_info *pinfo _U_, proto_tree *tree,
+    int hfindex);
 
+static dissect_func dissect_uint64, dissect_uint32, dissect_uint16, dissect_uint8;
 
+#define  WSHARK_HEAD
+#include "lustre_dlm_flags_wshark.c"
+#undef   WSHARK_HEAD
 
 static int ldlm_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint64 intent_opc _U_) ;
-static int lustre_dissect_element_ldlm_lock_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_);
 static int add_extra_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_) ;
 
 
@@ -1123,41 +1069,6 @@ const value_string lustre_lov_magic[] = {
   {0, NULL}
 };
 
-const value_string lustre_ldlm_flags_vals[] = {
-  {0x000001 , "LDLM_FL_LOCK_CHANGED"},
-  {0x000002 , "LDLM_FL_BLOCK_GRANTED"},
-  {0x000004 , "LDLM_FL_BLOCK_CONV"},
-  {0x000008 , "LDLM_FL_BLOCK_WAIT"},
-  {0x000010 , "LDLM_FL_CBPENDING"},
-  {0x000020 , "LDLM_FL_AST_SENT"},
-  {0x000040 , "LDLM_FL_WAIT_NOREPROC"},
-  {0x000080 , "LDLM_FL_CANCEL"},
-  {0x000100 , "LDLM_FL_REPLAY"},
-  {0x000200 , "LDLM_FL_INTENT_ONLY"},
-  {0x000400 , "LDLM_FL_LOCAL_ONLY"},
-  {0x000800 , "LDLM_FL_FAILED"},
-  {0x001000 , "LDLM_FL_HAS_INTENT"},
-  {0x002000 , "LDLM_FL_CANCELING"},
-  {0x004000 , "LDLM_FL_LOCAL"},
-  {0x008000 , "LDLM_FL_WARN"},
-  {0x010000 , "LDLM_FL_DISCARD_DATA"},
-  {0x020000 , "LDLM_FL_NO_TIMEOUT"},
-  {0x040000 , "LDLM_FL_BLOCK_NOWAIT"},
-  {0x080000 , "LDLM_FL_TEST_LOCK"},
-  {0x100000 , "LDLM_FL_LVB_READY"},
-  {0x200000 , "LDLM_FL_KMS_IGNORE"},
-  {0x400000 , "LDLM_FL_NO_LRU"},
-  {0x800000 , "LDLM_FL_CANCEL_ON_BLOCK"},
-  {0x1000000 , "LDLM_FL_CP_REQD"},
-  {0x2000000 , "LDLM_FL_CLEANED"},
-  {0x4000000 , "LDLM_FL_ATOMIC_CB"},
-  {0x10000000 , "LDLM_FL_BL_AST"},
-  {0x20000000 , "LDLM_FL_BL_DONE"},
-  {0x40000000 , "LDLM_FL_DENY_ON_CONTENTION"},
-  {0x80000000 , "LDLM_AST_DISCARD_DATA"},
-  { 0, NULL }
-};
-
 const value_string lustre_llog_op_type[] = {
   {LLOG_PAD_MAGIC   ,"LLOG_PAD_MAGIC  "},
   {OST_SZ_REC       ,"OST_SZ_REC      "},
@@ -1181,13 +1092,16 @@ const value_string lustre_llog_hdr_llh_flags[]= {
 };
 
 const value_string lustre_mds_flags_vals[] = {
-  {0x1,        "LUSTRE_BFLAG_UNCOMMITTED_WRITES"},
-  {0x80000000, "LUSTRE_BFLAG_EXT_FLAGS"},   /* == EXT3_RESERVED_FL */
   {0x00000008, "LUSTRE_SYNC_FL        "},   /* Synchronous updates */
   {0x00000010, "LUSTRE_IMMUTABLE_FL   "},   /* Immutable file */
   {0x00000020, "LUSTRE_APPEND_FL      "},   /* writes to file may only append */
+  {0x00000040, "LUSTRE_NODUMP_FL      "},   /* do not dump file */
   {0x00000080, "LUSTRE_NOATIME_FL     "},   /* do not update atime */
+  {0x00001000, "LUSTRE_INDEX_FL       "},   /* hash-indexed directory */
   {0x00010000, "LUSTRE_DIRSYNC_FL     "},   /* dirsync behaviour (dir only) */
+  {0x00020000, "LUSTRE_TOPDIR_FL      "},   /* Top of directory hierarchies */
+  {0x00100000, "LUSTRE_DIRECTIO_FL    "},   /* Use direct i/o */
+  {0x10000000, "LUSTRE_INLINE_DATA_FL "},   /* Inode has inline data. */
   { 0, NULL }
 };
 
@@ -1214,6 +1128,8 @@ const value_string lustre_mds_reint_t_vals[] = {
   { REINT_RENAME, "REINT_RENAME" },
   { REINT_OPEN, "REINT_OPEN" },
   { REINT_SETXATTR, "REINT_SETXATTR" },
+  { REINT_RMENTRY, "REINT_RMENTRY" },
+  { REINT_MIGRATE, "REINT_MIGRATE" },
   { 0, NULL }
 };
 const value_string lustre_op_codes[] = {
@@ -1238,7 +1154,9 @@ const value_string lustre_op_codes[] = {
   {17 , "OST_SET_INFO"},
   {18 , "OST_QUOTACHECK"},
   {19 , "OST_QUOTACTL"},
-  {20 , "OST_LAST_OPC"},
+  {20 , "OST_QUOTA_ADJUST_QUNIT"},
+  {21 , "OST_LADVISE"},
+  {22 , "OST_LAST_OPC"},
   /*MDS Opcodes*/
   {33 , "MDS_GETATTR"},
   {34 , "MDS_GETATTR_NAME"},
@@ -1247,7 +1165,7 @@ const value_string lustre_op_codes[] = {
   {37 , "MDS_READPAGE"},
   {38 , "MDS_CONNECT"},
   {39 , "MDS_DISCONNECT"},
-  {40 , "MDS_GETSTATUS"},
+  {40 , "MDS_GET_ROOT"},
   {41 , "MDS_STATFS"},
   {42 , "MDS_PIN"},
   {43 , "MDS_UNPIN"},
@@ -1258,7 +1176,18 @@ const value_string lustre_op_codes[] = {
   {48 , "MDS_QUOTACTL"},
   {49 , "MDS_GETXATTR"},
   {50 , "MDS_SETXATTR"},
-  {51 , "MDS_LAST_OPC"},
+  {51 , "MDS_WRITEPAGE"},
+  {52 , "MDS_IS_SUBDIR"},
+  {53 , "MDS_GET_INFO"},
+  {54 , "MDS_HSM_STATE_GET"},
+  {55 , "MDS_HSM_STATE_SET"},
+  {56 , "MDS_HSM_ACTION"},
+  {57 , "MDS_HSM_PROGRESS"},
+  {58 , "MDS_HSM_REQUEST"},
+  {59 , "MDS_HSM_CT_REGISTER"},
+  {60 , "MDS_HSM_CT_UNREGISTER"},
+  {61 , "MDS_SWAP_LAYOUTS"},
+  {62 , "MDS_LAST_OPC"},
   /*LDLM Opcodes*/
   {101 , "LDLM_ENQUEUE"},
   {102 , "LDLM_CONVERT"},
@@ -1299,7 +1228,7 @@ const value_string lustre_op_codes[] = {
   { 901, "FLD_LAST_OPC"},
   { 0, NULL }
 };
-/*const value_string lustre_ldlm_mode_t_vals[] = {*/
+/*const value_string lustre_ldlm_mode_vals[] = {*/
 /*    { LCK_MINMODE, "MINMODE" },*/
 /*    { LCK_EX, "EX" },*/
 /*    { LCK_PW, "PW" },*/
@@ -1312,7 +1241,7 @@ const value_string lustre_op_codes[] = {
 /*};*/
 
 /* detailled version the information came from : http://wiki.lustre.org/images/e/e5/LustreInternals_Architecture.pdf */
-const value_string lustre_ldlm_mode_t_vals[] = {
+const value_string lustre_ldlm_mode_vals[] = {
   { LCK_MINMODE, "MINMODE" },
   { LCK_EX, "Exclusive" },
   { LCK_PW, "Protected Write" },
@@ -1324,7 +1253,7 @@ const value_string lustre_ldlm_mode_t_vals[] = {
   { 0, NULL }
 };
 
-const value_string lustre_ldlm_type_t_vals[] = {
+const value_string lustre_ldlm_type_vals[] = {
   { LDLM_PLAIN, "LDLM_PLAIN" },
   { LDLM_EXTENT,"LDLM_EXTENT" },
   { LDLM_FLOCK, "LDLM_FLOCK" },
@@ -1373,9 +1302,9 @@ plugin_reg_handoff(void)
 /*                display  functions                                   */
 /* ------------------------------------------------------------------- */
 /* display str in left corner and in COL */
-/* TODO : do we need to use inline here ?*/
 /* @gint col :  the col where we add the information */
-inline static void display_info_str(proto_item *pi, column_info *cinfo, gint col, const gchar* str)
+static void display_info_str(proto_item *pi, column_info *cinfo, gint col,
+                            const gchar *str)
 {
   if (NULL !=pi)
     proto_item_append_text(pi, str);
@@ -5233,7 +5162,7 @@ lustre_dissect_struct_ldlm_res_id(tvbuff_t *tvb _U_, int offset _U_, packet_info
 /* IDL: } */
 
 int
-lustre_dissect_enum_ldlm_mode_t(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_)
+lustre_dissect_enum_ldlm_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_)
 {
   offset=dissect_uint32(tvb, offset, pinfo, tree, hf_index);
   return offset;
@@ -5249,7 +5178,7 @@ lustre_dissect_enum_ldlm_mode_t(tvbuff_t *tvb _U_, int offset _U_, packet_info *
 /* IDL: } */
 
 int
-lustre_dissect_enum_ldlm_type_t(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_)
+lustre_dissect_enum_ldlm_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_)
 {
   offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_resource_desc_lr_type );
   return offset;
@@ -5513,9 +5442,9 @@ lustre_dissect_struct_ldlm_intent(tvbuff_t *tvb _U_, int offset _U_, packet_info
 }
 
 /* IDL: struct ldlm_resource_desc { */
-/* IDL:        ldlm_type_t lr_type; */
-/* IDL:        uint32 lr_padding; */
-/* IDL:        struct ldlm_res_id { */
+/* IDL:                enum ldlm_type lr_type; */
+/* IDL:                uint32 lr_padding; */
+/* IDL:                struct ldlm_res_id { */
 /* IDL: } lr_name; */
 /* IDL: } */
 
@@ -5523,7 +5452,7 @@ static int
 lustre_dissect_element_ldlm_resource_desc_lr_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
 {
   /*    offset=dissect_uint32(tvb, offset, pinfo, tree,  hf_lustre_ldlm_resource_desc_lr_type);*/
-  offset=lustre_dissect_enum_ldlm_type_t(tvb, offset, pinfo, tree,  hf_lustre_ldlm_resource_desc_lr_type);
+  offset=lustre_dissect_enum_ldlm_type(tvb, offset, pinfo, tree,  hf_lustre_ldlm_resource_desc_lr_type);
   return offset;
 }
 
@@ -5572,11 +5501,11 @@ lustre_dissect_struct_ldlm_resource_desc(tvbuff_t *tvb _U_, int offset _U_, pack
 
 
 /* IDL: struct ldlm_lock_desc { */
-/* IDL:        struct ldlm_resource_desc { */
-/* IDL: } l_resource; */
-/* IDL:        ldlm_mode_t l_req_mode; */
-/* IDL:        ldlm_mode_t l_granted_mode; */
-/* IDL:        ldlm_policy_data_t l_policy_data; */
+/* IDL:                struct ldlm_resource_desc { */
+/* IDL:                } l_resource; */
+/* IDL:                enum ldlm_mode l_req_mode; */
+/* IDL:                enum ldlm_mode l_granted_mode; */
+/* IDL:                union ldlm_policy_data l_policy_data; */
 /* IDL: } */
 
 static int
@@ -5589,7 +5518,7 @@ lustre_dissect_element_ldlm_lock_desc_l_resource(tvbuff_t *tvb _U_, int offset _
 static int
 lustre_dissect_element_ldlm_lock_desc_l_req_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
 {
-  offset=lustre_dissect_enum_ldlm_mode_t(tvb, offset, pinfo, tree,  hf_lustre_ldlm_lock_desc_l_req_mode);
+  offset=lustre_dissect_enum_ldlm_mode(tvb, offset, pinfo, tree,  hf_lustre_ldlm_lock_desc_l_req_mode);
 
   return offset;
 }
@@ -5597,7 +5526,7 @@ lustre_dissect_element_ldlm_lock_desc_l_req_mode(tvbuff_t *tvb _U_, int offset _
 static int
 lustre_dissect_element_ldlm_lock_desc_l_granted_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
 {
-  offset=lustre_dissect_enum_ldlm_mode_t(tvb, offset, pinfo, tree,  hf_lustre_ldlm_lock_desc_l_granted_mode);
+  offset=lustre_dissect_enum_ldlm_mode(tvb, offset, pinfo, tree,  hf_lustre_ldlm_lock_desc_l_granted_mode);
 
   return offset;
 }
@@ -5659,7 +5588,7 @@ lustre_dissect_struct_ldlm_lock_desc(tvbuff_t *tvb _U_, int offset _U_, packet_i
 
   lock_req_mode = tvb_get_letohl(tvb,offset);
 
-  display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(lock_req_mode, lustre_ldlm_mode_t_vals, "Unknown lock"));
+  display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(lock_req_mode, lustre_ldlm_mode_vals, "Unknown lock"));
 
   offset=lustre_dissect_element_ldlm_lock_desc_l_req_mode(tvb, offset, pinfo, tree);
 
@@ -5675,12 +5604,12 @@ lustre_dissect_struct_ldlm_lock_desc(tvbuff_t *tvb _U_, int offset _U_, packet_i
 
 
 /* IDL: struct ldlm_request { */
-/* IDL:        uint32 lock_flags; */
-/* IDL:        uint32 lock_count; */
-/* IDL:        struct ldlm_lock_desc { */
-/* IDL: } lock_desc; */
-/* IDL:        struct lustre_handle { */
-/* IDL: } lock_handle[2]; */
+/* IDL:                uint32 lock_flags; */
+/* IDL:                uint32 lock_count; */
+/* IDL:                struct ldlm_lock_desc { */
+/* IDL:                } lock_desc; */
+/* IDL:                struct lustre_handle { */
+/* IDL:                } lock_handle[2]; */
 /* IDL: } */
 
 
@@ -5758,62 +5687,6 @@ lustre_dissect_struct_ldlm_request(tvbuff_t *tvb _U_, int offset _U_, packet_inf
   return offset;
 }
 
-
-/* IDL: struct ldlm_reply { */
-/* IDL:        uint32 lock_flags; */
-/* IDL:        uint32 lock_padding; */
-/* IDL:        struct ldlm_lock_desc { */
-/* IDL: } lock_desc; */
-/* IDL:        struct lustre_handle { */
-/* IDL: } lock_handle; */
-/* IDL:        uint64 lock_policy_res1; */
-/* IDL:        uint64 lock_policy_res2; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_ldlm_lock_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
-  proto_item *item = NULL;
-  proto_tree *tree = NULL;
-
-  if (parent_tree) {
-    item = proto_tree_add_item(parent_tree,hf_index, tvb, offset, 4, TRUE);
-    tree = proto_item_add_subtree(item, ett_lustre_ldlm_lock_flags);
-  }
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_ast_discard_data);
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_deny_on_contention);
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_bl_done           );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_bl_ast            );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_atomic_cb         );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_cleaned           );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_cp_reqd           );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_cancel_on_block   );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_no_lru            );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_kms_ignore        );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_lvb_ready         );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_test_lock         );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_block_nowait      );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_no_timeout        );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_discard_data      );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_warn              );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_local             );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_canceling         );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_has_intent        );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_failed            );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_local_only        );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_intent_only       );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_replay            );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_cancel            );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_wait_noreproc     );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_ast_sent          );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_cbpending         );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_block_wait        );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_block_conv        );
-  dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_block_granted     );
-  offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_lock_changed      );
-  return offset;
-}
-
 static int
 lustre_dissect_element_ldlm_reply_lock_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
 {
@@ -6722,183 +6595,6 @@ lustre_dissect_struct_llog_logid_rec(tvbuff_t *tvb _U_, int offset _U_, packet_i
   return offset;
 }
 
-/* IDL: struct llog_create_rec { */
-/* IDL:        struct llog_rec_hdr { */
-/* IDL: } lcr_hdr; */
-/* IDL:        struct ll_fid { */
-/* IDL: } lcr_fid; */
-/* IDL:        uint64 lcr_oid; */
-/* IDL:        uint32 lcr_ogen; */
-/* IDL:        uint32 padding; */
-/* IDL:        struct llog_rec_tail { */
-/* IDL: } lcr_tail; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_llog_create_rec_lcr_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
-  //offset=lustre_dissect_struct_HASH(0x85d56e0)(tvb,offset,pinfo,tree,hf_lustre_llog_create_rec_lcr_hdr);
-
-  return offset;
-}
-
-static int
-lustre_dissect_element_llog_create_rec_lcr_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
-  //offset=lustre_dissect_struct_HASH(0x85d5830)(tvb,offset,pinfo,tree,hf_lustre_llog_create_rec_lcr_fid);
-
-  return offset;
-}
-
-static int
-lustre_dissect_element_llog_create_rec_lcr_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
-  offset=dissect_uint64(tvb, offset, pinfo, tree,  hf_lustre_llog_create_rec_lcr_oid);
-
-  return offset;
-}
-
-static int
-lustre_dissect_element_llog_create_rec_lcr_ogen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
-  offset=dissect_uint32(tvb, offset, pinfo, tree,  hf_lustre_llog_create_rec_lcr_ogen);
-
-  return offset;
-}
-
-static int
-lustre_dissect_element_llog_create_rec_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
-  offset=dissect_uint32(tvb, offset, pinfo, tree,  hf_lustre_llog_create_rec_padding);
-
-  return offset;
-}
-
-static int
-lustre_dissect_element_llog_create_rec_lcr_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
-  //offset=lustre_dissect_struct_HASH(0x85d69dc)(tvb,offset,pinfo,tree,hf_lustre_llog_create_rec_lcr_tail);
-
-  return offset;
-}
-
-int
-lustre_dissect_struct_llog_create_rec(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
-  proto_item *item = NULL;
-  proto_tree *tree = NULL;
-  int old_offset;
-
-
-
-  old_offset=offset;
-
-  if (parent_tree) {
-    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
-    tree = proto_item_add_subtree(item, ett_lustre_llog_create_rec);
-  }
-
-  offset=lustre_dissect_element_llog_create_rec_lcr_hdr(tvb, offset, pinfo, tree);
-
-  offset=lustre_dissect_element_llog_create_rec_lcr_fid(tvb, offset, pinfo, tree);
-
-  offset=lustre_dissect_element_llog_create_rec_lcr_oid(tvb, offset, pinfo, tree);
-
-  offset=lustre_dissect_element_llog_create_rec_lcr_ogen(tvb, offset, pinfo, tree);
-
-  offset=lustre_dissect_element_llog_create_rec_padding(tvb, offset, pinfo, tree);
-
-  offset=lustre_dissect_element_llog_create_rec_lcr_tail(tvb, offset, pinfo, tree);
-
-
-  proto_item_set_len(item, offset-old_offset);
-
-  return offset;
-}
-
-
-
-
-/* IDL: struct llog_orphan_rec { */
-/* IDL:        struct llog_rec_hdr { */
-/* IDL: } lor_hdr; */
-/* IDL:        uint64 lor_oid; */
-/* IDL:        uint32 lor_ogen; */
-/* IDL:        uint32 padding; */
-/* IDL:        struct llog_rec_tail { */
-/* IDL: } lor_tail; */
-/* IDL: } */
-
-static int
-lustre_dissect_element_llog_orphan_rec_lor_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
-  //offset=lustre_dissect_struct_HASH(0x85d767c)(tvb,offset,pinfo,tree,hf_lustre_llog_orphan_rec_lor_hdr);
-
-  return offset;
-}
-
-static int
-lustre_dissect_element_llog_orphan_rec_lor_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
-  offset=dissect_uint64(tvb, offset, pinfo, tree,  hf_lustre_llog_orphan_rec_lor_oid);
-
-  return offset;
-}
-
-static int
-lustre_dissect_element_llog_orphan_rec_lor_ogen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
-  offset=dissect_uint32(tvb, offset, pinfo, tree,  hf_lustre_llog_orphan_rec_lor_ogen);
-
-  return offset;
-}
-
-static int
-lustre_dissect_element_llog_orphan_rec_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
-  offset=dissect_uint32(tvb, offset, pinfo, tree,  hf_lustre_llog_orphan_rec_padding);
-
-  return offset;
-}
-
-static int
-lustre_dissect_element_llog_orphan_rec_lor_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
-{
-  //offset=lustre_dissect_struct_HASH(0x85d8550)(tvb,offset,pinfo,tree,hf_lustre_llog_orphan_rec_lor_tail);
-  return offset;
-}
-
-int
-lustre_dissect_struct_llog_orphan_rec(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
-{
-  proto_item *item = NULL;
-  proto_tree *tree = NULL;
-  int old_offset;
-
-
-
-  old_offset=offset;
-
-  if (parent_tree) {
-    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
-    tree = proto_item_add_subtree(item, ett_lustre_llog_orphan_rec);
-  }
-
-  offset=lustre_dissect_element_llog_orphan_rec_lor_hdr(tvb, offset, pinfo, tree);
-
-  offset=lustre_dissect_element_llog_orphan_rec_lor_oid(tvb, offset, pinfo, tree);
-
-  offset=lustre_dissect_element_llog_orphan_rec_lor_ogen(tvb, offset, pinfo, tree);
-
-  offset=lustre_dissect_element_llog_orphan_rec_padding(tvb, offset, pinfo, tree);
-
-  offset=lustre_dissect_element_llog_orphan_rec_lor_tail(tvb, offset, pinfo, tree);
-
-
-  proto_item_set_len(item, offset-old_offset);
-
-  return offset;
-}
 
 
 
@@ -8615,7 +8311,7 @@ static int reint_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *
       offset=lustre_dissect_struct_mdt_rec_create(tvb, offset, pinfo, tree, hf_lustre_mdt_rec_create);
       offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
       offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_REQ_REC_OFF+2);
-      /* REINT_CREATE_SLAVE / SYM / RMT_ACL */
+      /* REINT_CREATE_SLAVE / SYM */
       if (LUSTRE_BUFCOUNT > 4) {
        /* for CREATE_SYM this is actually name of target - encoded in mdt_rec_create.cr_mode */
        offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_REQ_REC_OFF+3);
@@ -8696,6 +8392,39 @@ lustre_dissect_generic_connect(tvbuff_t *tvb _U_, int offset _U_, packet_info *p
   return offset;
 }
 
+int
+lustre_dissect_struct_lu_ladvise(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_,
+                                proto_tree *parent_tree _U_, int hf_index _U_, guint32 buf_num)
+{
+  proto_item *item = NULL;
+  proto_tree *tree = NULL;
+  int old_offset;
+  int data_len;
+
+  old_offset=offset;
+
+  data_len = LUSTRE_BUFFER_LEN(buf_num);
+  if (data_len == 0)
+    return offset;
+
+  if (parent_tree) {
+    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
+    tree = proto_item_add_subtree(item, ett_lustre_ladvise);
+  }
+
+  offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_lu_ladvise_lla_start);
+
+  offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_lu_ladvise_lla_end);
+
+  offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_lu_ladvise_lla_advice);
+
+  offset=dissect_uint64(tvb,offset,pinfo,tree,hf_lustre_lu_ladvise_lla_padding);
+
+  if (item)
+    proto_item_set_len(item, offset-old_offset);
+  return offset;
+}
+
 static int
 lustre_ost_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint32 opc _U_, guint32 pb_type)
 {
@@ -8801,6 +8530,14 @@ lustre_ost_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo
     case OST_QUOTA_ADJUST_QUNIT:
       /* [quota_adjust_qunit] in both case ? */
       offset=lustre_dissect_struct_quota_adjust_qunit(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit) ;
+    case OST_LADVISE:
+      /*[ost_body] in both case */
+      offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
+      if (pb_type == PTL_RPC_MSG_REQUEST) {
+         offset=lustre_dissect_struct_capa(tvb, offset, pinfo, tree, hf_lustre_capa, LUSTRE_REQ_REC_OFF+1);
+         offset=lustre_dissect_struct_lu_ladvise(tvb, offset, pinfo, tree, hf_lustre_lu_ladvise, LUSTRE_REQ_REC_OFF+2);
+      }
+      break;
   };
   return offset;
 }
@@ -8812,7 +8549,7 @@ lustre_mds_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo
     case MDS_DISCONNECT:
       /*[nothing]*/
       break;
-    case MDS_GETSTATUS:
+    case MDS_GET_ROOT:
       /*request: [mds body]*/
       /*reply:   [mds body][capa] */
       offset=lustre_dissect_struct_mdt_body(tvb, offset, pinfo, tree, hf_lustre_mdt_body) ;
@@ -10744,37 +10481,9 @@ void proto_register_dcerpc_lustre(void)
     { &hf_lustre_ldlm_reply_lock_flags,
       { "Lock Flags", "lustre.ldlm_reply.lock_flags", FT_UINT32,BASE_HEX, NULL, 0, "", HFILL }},
 
-    {&hf_lustre_ldlm_fl_lock_changed, {"LDLM_FL_LOCK_CHANGED", "lustre.ldlm_fl_lock_changed", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_LOCK_CHANGED, "", HFILL } },
-    {&hf_lustre_ldlm_fl_block_granted, {"LDLM_FL_BLOCK_GRANTED", "lustre.ldlm_fl_block_granted", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_BLOCK_GRANTED, "", HFILL } },
-    {&hf_lustre_ldlm_fl_block_conv, {"LDLM_FL_BLOCK_CONV", "lustre.ldlm_fl_block_conv", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_BLOCK_CONV, "", HFILL } },
-    {&hf_lustre_ldlm_fl_block_wait, {"LDLM_FL_BLOCK_WAIT", "lustre.ldlm_fl_block_wait", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_BLOCK_WAIT, "", HFILL } },
-    {&hf_lustre_ldlm_fl_cbpending, {"LDLM_FL_CBPENDING", "lustre.ldlm_fl_cbpending", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_CBPENDING, "", HFILL } },
-    {&hf_lustre_ldlm_fl_ast_sent, {"LDLM_FL_AST_SENT", "lustre.ldlm_fl_ast_sent", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_AST_SENT, "", HFILL } },
-    {&hf_lustre_ldlm_fl_wait_noreproc, {"LDLM_FL_WAIT_NOREPROC", "lustre.ldlm_fl_wait_noreproc", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_WAIT_NOREPROC, "", HFILL } },
-    {&hf_lustre_ldlm_fl_cancel, {"LDLM_FL_CANCEL", "lustre.ldlm_fl_cancel", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_CANCEL, "", HFILL } },
-    {&hf_lustre_ldlm_fl_replay, {"LDLM_FL_REPLAY", "lustre.ldlm_fl_replay", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_REPLAY, "", HFILL } },
-    {&hf_lustre_ldlm_fl_intent_only, {"LDLM_FL_INTENT_ONLY", "lustre.ldlm_fl_intent_only", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_INTENT_ONLY, "", HFILL } },
-    {&hf_lustre_ldlm_fl_local_only, {"LDLM_FL_LOCAL_ONLY", "lustre.ldlm_fl_local_only", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_LOCAL_ONLY, "", HFILL } },
-    {&hf_lustre_ldlm_fl_failed, {"LDLM_FL_FAILED", "lustre.ldlm_fl_failed", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_FAILED, "", HFILL } },
-    {&hf_lustre_ldlm_fl_has_intent, {"LDLM_FL_HAS_INTENT", "lustre.ldlm_fl_has_intent", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_HAS_INTENT, "", HFILL } },
-    {&hf_lustre_ldlm_fl_canceling, {"LDLM_FL_CANCELING", "lustre.ldlm_fl_canceling", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_CANCELING, "", HFILL } },
-    {&hf_lustre_ldlm_fl_local, {"LDLM_FL_LOCAL", "lustre.ldlm_fl_local", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_LOCAL, "", HFILL } },
-    {&hf_lustre_ldlm_fl_warn, {"LDLM_FL_WARN", "lustre.ldlm_fl_warn", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_WARN, "", HFILL } },
-    {&hf_lustre_ldlm_fl_discard_data, {"LDLM_FL_DISCARD_DATA", "lustre.ldlm_fl_discard_data", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_DISCARD_DATA, "", HFILL } },
-    {&hf_lustre_ldlm_fl_no_timeout, {"LDLM_FL_NO_TIMEOUT", "lustre.ldlm_fl_no_timeout", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_NO_TIMEOUT, "", HFILL } },
-    {&hf_lustre_ldlm_fl_block_nowait, {"LDLM_FL_BLOCK_NOWAIT", "lustre.ldlm_fl_block_nowait", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_BLOCK_NOWAIT, "", HFILL } },
-    {&hf_lustre_ldlm_fl_test_lock, {"LDLM_FL_TEST_LOCK", "lustre.ldlm_fl_test_lock", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_TEST_LOCK, "", HFILL } },
-    {&hf_lustre_ldlm_fl_lvb_ready, {"LDLM_FL_LVB_READY", "lustre.ldlm_fl_lvb_ready", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_LVB_READY, "", HFILL } },
-    {&hf_lustre_ldlm_fl_kms_ignore, {"LDLM_FL_KMS_IGNORE", "lustre.ldlm_fl_kms_ignore", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_KMS_IGNORE, "", HFILL } },
-    {&hf_lustre_ldlm_fl_no_lru, {"LDLM_FL_NO_LRU", "lustre.ldlm_fl_no_lru", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_NO_LRU, "", HFILL } },
-    {&hf_lustre_ldlm_fl_cancel_on_block, {"LDLM_FL_CANCEL_ON_BLOCK", "lustre.ldlm_fl_cancel_on_block", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_CANCEL_ON_BLOCK, "", HFILL } },
-    {&hf_lustre_ldlm_fl_cp_reqd, {"LDLM_FL_CP_REQD", "lustre.ldlm_fl_cp_reqd", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_CP_REQD, "", HFILL } },
-    {&hf_lustre_ldlm_fl_cleaned, {"LDLM_FL_CLEANED", "lustre.ldlm_fl_cleaned", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_CLEANED, "", HFILL } },
-    {&hf_lustre_ldlm_fl_atomic_cb, {"LDLM_FL_ATOMIC_CB", "lustre.ldlm_fl_atomic_cb", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_ATOMIC_CB, "", HFILL } },
-    {&hf_lustre_ldlm_fl_bl_ast, {"LDLM_FL_BL_AST", "lustre.ldlm_fl_bl_ast", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_BL_AST, "", HFILL } },
-    {&hf_lustre_ldlm_fl_bl_done, {"LDLM_FL_BL_DONE", "lustre.ldlm_fl_bl_done", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_BL_DONE, "", HFILL } },
-    {&hf_lustre_ldlm_fl_deny_on_contention, {"LDLM_FL_DENY_ON_CONTENTION", "lustre.ldlm_fl_deny_on_contention", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_FL_DENY_ON_CONTENTION, "", HFILL } },
-    {&hf_lustre_ldlm_ast_discard_data, {"LDLM_AST_DISCARD_DATA", "lustre.ldlm_ast_discard_data", FT_BOOLEAN, 32, TFS(&lnet_flags_set_truth), LDLM_AST_DISCARD_DATA, "", HFILL } },
+#define  WSHARK_INIT_DATA
+#include "lustre_dlm_flags_wshark.c"
+#undef   WSHARK_INIT_DATA
 
     { &hf_lustre_obdo_o_misc,
       { "O Misc", "lustre.obdo.o_misc", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
@@ -10809,9 +10518,6 @@ void proto_register_dcerpc_lustre(void)
       { "Qd Id", "lustre.qunit_data_old2.qd_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_llog_logid_rec_padding2,
       { "Padding2", "lustre.llog_logid_rec.padding2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
-    { &hf_lustre_llog_orphan_rec_lor_tail,
-      { "Lor Tail", "lustre.llog_orphan_rec.lor_tail", FT_NONE,
-                   BASE_NONE, NULL, 0, "", HFILL } },
     { &hf_lustre_llog_logid_rec_padding5,
       { "Padding5", "lustre.llog_logid_rec.padding5", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
     /*-------------------------------------------------------------------------------------------------------------*/
@@ -10866,14 +10572,8 @@ void proto_register_dcerpc_lustre(void)
     { &hf_lustre_llog_size_change_rec_lsc_hdr,
       { "Lsc Hdr", "lustre.llog_size_change_rec.lsc_hdr", FT_NONE,
                    BASE_NONE, NULL, 0, "", HFILL } },
-    { &hf_lustre_llog_create_rec_lcr_tail,
-      { "Lcr Tail", "lustre.llog_create_rec.lcr_tail", FT_NONE,
-                   BASE_NONE, NULL, 0, "", HFILL } },
     { &hf_lustre_llog_logid_lgl_oseq,
       { "Lgl SEQ", "lustre.llog_logid.lgl_oseq", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
-    { &hf_lustre_llog_create_rec_lcr_hdr,
-      { "Lcr Hdr", "lustre.llog_create_rec.lcr_hdr", FT_NONE,
-                   BASE_NONE, NULL, 0, "", HFILL } },
     { &hf_lustre_llog_cookie_lgc_padding,
       { "Lgc Padding", "lustre.llog_cookie.lgc_padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_qunit_data_old_qd_type,
@@ -10897,8 +10597,6 @@ void proto_register_dcerpc_lustre(void)
                    BASE_NONE, NULL, 0, "", HFILL } },
     { &hf_lustre_llog_log_hdr_llh_size,
       { "Llh Size", "lustre.llog_log_hdr.llh_size", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
-    { &hf_lustre_llog_create_rec_padding,
-      { "Padding", "lustre.llog_create_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_obdo_o_handle,
       { "O Handle", "lustre.obdo.o_handle", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
     { &hf_lustre_obdo_o_atime,
@@ -10915,7 +10613,7 @@ void proto_register_dcerpc_lustre(void)
     { &hf_lustre_quota_adjust_qunit_qaq_flags,
       { "Qaq Flags", "lustre.quota_adjust_qunit.qaq_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_ldlm_lock_desc_l_granted_mode,
-      { "L Granted Mode", "lustre.ldlm_lock_desc.l_granted_mode", FT_UINT16, BASE_DEC, VALS(lustre_ldlm_mode_t_vals), 0, "", HFILL }},
+      { "L Granted Mode", "lustre.ldlm_lock_desc.l_granted_mode", FT_UINT16, BASE_DEC, VALS(lustre_ldlm_mode_vals), 0, "", HFILL }},
     { &hf_lustre_obdo_o_seq,
       { "O SEQ", "lustre.obdo.o_seq", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_obdo_o_gid,
@@ -10996,8 +10694,6 @@ void proto_register_dcerpc_lustre(void)
       { "Lgc Index", "lustre.llog_cookie.lgc_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_lov_desc_ld_uuid,
       { "Ld Uuid", "lustre.lov_desc.ld_uuid", FT_NONE, BASE_NONE, NULL, 0, "", HFILL } },
-    { &hf_lustre_llog_create_rec_lcr_oid,
-      { "Lcr Oid", "lustre.llog_create_rec.lcr_oid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_ldlm_reply_lock_desc,
       { "Lock Desc", "lustre.ldlm_reply.lock_desc", FT_NONE,
                    BASE_NONE, NULL, 0, "", HFILL } },
@@ -11005,9 +10701,6 @@ void proto_register_dcerpc_lustre(void)
       { "Ld Padding 0", "lustre.lov_desc.ld_padding_0", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_llog_unlink_rec_lur_ogen,
       { "Lur Ogen", "lustre.llog_unlink_rec.lur_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
-    { &hf_lustre_llog_orphan_rec_lor_hdr,
-      { "Lor Hdr", "lustre.llog_orphan_rec.lor_hdr", FT_NONE,
-                   BASE_NONE, NULL, 0, "", HFILL } },
     { &hf_lustre_cfg_marker_cm_flags,
       { "Cm Flags", "lustre.cfg_marker.cm_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_obdo_o_padding_3,
@@ -11015,8 +10708,6 @@ void proto_register_dcerpc_lustre(void)
     { &hf_lustre_ldlm_request_lock_desc,
       { "Lock Desc", "lustre.ldlm_request.lock_desc", FT_NONE,
                    BASE_NONE, NULL, 0, "", HFILL } },
-    { &hf_lustre_llog_orphan_rec_padding,
-      { "Padding", "lustre.llog_orphan_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_obdo_o_flags,
       { "O Flags", "lustre.obdo.o_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_mgs_target_info_mti_params,
@@ -11061,22 +10752,18 @@ void proto_register_dcerpc_lustre(void)
     { &hf_lustre_llog_unlink_rec_padding,
       { "Padding", "lustre.llog_unlink_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_ldlm_lock_desc_l_req_mode,
-      { "L Req Mode", "lustre.ldlm_lock_desc.l_req_mode", FT_UINT16, BASE_DEC, VALS(lustre_ldlm_mode_t_vals), 0, "", HFILL }},
+      { "L Req Mode", "lustre.ldlm_lock_desc.l_req_mode", FT_UINT16, BASE_DEC, VALS(lustre_ldlm_mode_vals), 0, "", HFILL }},
     { &hf_lustre_ldlm_extent_end,
       { "End", "lustre.ldlm_extent.end", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_llog_gen_rec_lgr_hdr,
       { "Lgr Hdr", "lustre.llog_gen_rec.lgr_hdr", FT_NONE,
                    BASE_NONE, NULL, 0, "", HFILL } },
-    { &hf_lustre_llog_orphan_rec_lor_ogen,
-      { "Lor Ogen", "lustre.llog_orphan_rec.lor_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_llogd_body_lgd_llh_flags,
       { "Lgd Llh Flags", "lustre.llogd_body.lgd_llh_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_llog_log_hdr_llh_cat_idx,
       { "Llh Cat Idx", "lustre.llog_log_hdr.llh_cat_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_llog_log_hdr_llh_bitmap_offset,
       { "Llh Bitmap Offset", "lustre.llog_log_hdr.llh_bitmap_offset", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
-    { &hf_lustre_llog_orphan_rec_lor_oid,
-      { "Lor Oid", "lustre.llog_orphan_rec.lor_oid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_ldlm_reply_lock_padding,
       { "Lock Padding", "lustre.ldlm_reply.lock_padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_obd_quotactl_qc_id,
@@ -11102,8 +10789,6 @@ void proto_register_dcerpc_lustre(void)
       { "Ld Tgt Count", "lustre.lov_desc.ld_tgt_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_llogd_body_lgd_cur_offset,
       { "Lgd Cur Offset", "lustre.llogd_body.lgd_cur_offset", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
-    { &hf_lustre_llog_create_rec_lcr_ogen,
-      { "Lcr Ogen", "lustre.llog_create_rec.lcr_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_qunit_data_old2_qd_count,
       { "Qd Count", "lustre.qunit_data_old2.qd_count", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_opnum,
@@ -11125,9 +10810,6 @@ void proto_register_dcerpc_lustre(void)
       { "Cm Step", "lustre.cfg_marker.cm_step", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_mgs_send_param_mgs_param,
       { "Mgs Param", "lustre.mgs_send_param.mgs_param", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
-    { &hf_lustre_llog_create_rec_lcr_fid,
-      { "Lcr Fid", "lustre.llog_create_rec.lcr_fid", FT_NONE,
-                   BASE_NONE, NULL, 0, "", HFILL } },
     { &hf_lustre_lov_desc_ld_default_stripe_offset,
       { "Ld Default Stripe Offset", "lustre.lov_desc.ld_default_stripe_offset", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_ldlm_resource_desc_lr_name,
@@ -11214,7 +10896,7 @@ void proto_register_dcerpc_lustre(void)
     { &hf_lustre_lov_desc_ld_qos_maxage,
       { "Ld Qos Maxage", "lustre.lov_desc.ld_qos_maxage", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
     { &hf_lustre_ldlm_resource_desc_lr_type,
-      { "Lr Type", "lustre.ldlm_resource_desc.lr_type", FT_UINT16, BASE_DEC, VALS(lustre_ldlm_type_t_vals), 0, "", HFILL }},
+      { "Lr Type", "lustre.ldlm_resource_desc.lr_type", FT_UINT16, BASE_DEC, VALS(lustre_ldlm_type_vals), 0, "", HFILL }},
     { &hf_lustre_llog_setattr_rec_lsr_tail,
       { "Lsr Tail", "lustre.llog_setattr_rec.lsr_tail", FT_NONE,
                    BASE_NONE, NULL, 0, "", HFILL } },
@@ -11383,8 +11065,6 @@ void proto_register_dcerpc_lustre(void)
     &ett_lustre_llog_rec_hdr,
     &ett_lustre_llog_rec_tail,
     &ett_lustre_llog_logid_rec,
-    &ett_lustre_llog_create_rec,
-    &ett_lustre_llog_orphan_rec,
     &ett_lustre_llog_unlink_rec,
     &ett_lustre_llog_setattr_rec,
     &ett_lustre_llog_size_change_rec,
@@ -11406,6 +11086,7 @@ void proto_register_dcerpc_lustre(void)
     &ett_lustre_mdt_ioepoch,
     &ett_lustre_capa,
     &ett_lustre_acl,
+    &ett_lustre_ladvise,
        };
 
   proto_lustre = proto_register_protocol("Lustre", "lustre", "lustre");
@@ -11420,26 +11101,26 @@ void proto_reg_handoff_lustre(void)
   lustre_handle=create_dissector_handle(dissect_lustre, proto_lustre);
   /* we use Lustre only if we get ptl_index = One of this code (we have removed the bulk code) */
   /* in LNET we test if the message is a put or not before adding an lnet.ptl_index value */
-  dissector_add("lnet.ptl_index", MDC_REPLY_PORTAL          , lustre_handle);
-  dissector_add("lnet.ptl_index", CONNMGR_REQUEST_PORTAL    , lustre_handle);
-  dissector_add("lnet.ptl_index", CONNMGR_REPLY_PORTAL      , lustre_handle);
-  dissector_add("lnet.ptl_index", OSC_REPLY_PORTAL          , lustre_handle);
-  dissector_add("lnet.ptl_index", OST_IO_PORTAL             , lustre_handle);
-  dissector_add("lnet.ptl_index", OST_CREATE_PORTAL         , lustre_handle);
-  dissector_add("lnet.ptl_index", MDC_REPLY_PORTAL          , lustre_handle);
-  dissector_add("lnet.ptl_index", MDS_REQUEST_PORTAL        , lustre_handle);
-  dissector_add("lnet.ptl_index", LDLM_CB_REQUEST_PORTAL    , lustre_handle);
-  dissector_add("lnet.ptl_index", LDLM_CB_REPLY_PORTAL      , lustre_handle);
-  dissector_add("lnet.ptl_index", LDLM_CANCEL_REQUEST_PORTAL, lustre_handle);
-  dissector_add("lnet.ptl_index", LDLM_CANCEL_REPLY_PORTAL  , lustre_handle);
-  dissector_add("lnet.ptl_index", MDS_SETATTR_PORTAL        , lustre_handle);
-  dissector_add("lnet.ptl_index", MDS_READPAGE_PORTAL       , lustre_handle);
-  dissector_add("lnet.ptl_index", MGC_REPLY_PORTAL          , lustre_handle);
-  dissector_add("lnet.ptl_index", MGS_REQUEST_PORTAL        , lustre_handle);
-  dissector_add("lnet.ptl_index", MGS_REPLY_PORTAL          , lustre_handle);
-  dissector_add("lnet.ptl_index", OST_REQUEST_PORTAL        , lustre_handle);
-  dissector_add("lnet.ptl_index", FLD_REQUEST_PORTAL, lustre_handle);
-  dissector_add("lnet.ptl_index", SEQ_METADATA_PORTAL, lustre_handle);
-  dissector_add("lnet.ptl_index", SEQ_DATA_PORTAL, lustre_handle);
-  dissector_add("lnet.ptl_index", SEQ_CONTROLLER_PORTAL, lustre_handle);
+  dissector_add_uint("lnet.ptl_index", MDC_REPLY_PORTAL          , lustre_handle);
+  dissector_add_uint("lnet.ptl_index", CONNMGR_REQUEST_PORTAL    , lustre_handle);
+  dissector_add_uint("lnet.ptl_index", CONNMGR_REPLY_PORTAL      , lustre_handle);
+  dissector_add_uint("lnet.ptl_index", OSC_REPLY_PORTAL          , lustre_handle);
+  dissector_add_uint("lnet.ptl_index", OST_IO_PORTAL             , lustre_handle);
+  dissector_add_uint("lnet.ptl_index", OST_CREATE_PORTAL         , lustre_handle);
+  dissector_add_uint("lnet.ptl_index", MDC_REPLY_PORTAL          , lustre_handle);
+  dissector_add_uint("lnet.ptl_index", MDS_REQUEST_PORTAL        , lustre_handle);
+  dissector_add_uint("lnet.ptl_index", LDLM_CB_REQUEST_PORTAL    , lustre_handle);
+  dissector_add_uint("lnet.ptl_index", LDLM_CB_REPLY_PORTAL      , lustre_handle);
+  dissector_add_uint("lnet.ptl_index", LDLM_CANCEL_REQUEST_PORTAL, lustre_handle);
+  dissector_add_uint("lnet.ptl_index", LDLM_CANCEL_REPLY_PORTAL  , lustre_handle);
+  dissector_add_uint("lnet.ptl_index", MDS_SETATTR_PORTAL        , lustre_handle);
+  dissector_add_uint("lnet.ptl_index", MDS_READPAGE_PORTAL       , lustre_handle);
+  dissector_add_uint("lnet.ptl_index", MGC_REPLY_PORTAL          , lustre_handle);
+  dissector_add_uint("lnet.ptl_index", MGS_REQUEST_PORTAL        , lustre_handle);
+  dissector_add_uint("lnet.ptl_index", MGS_REPLY_PORTAL          , lustre_handle);
+  dissector_add_uint("lnet.ptl_index", OST_REQUEST_PORTAL        , lustre_handle);
+  dissector_add_uint("lnet.ptl_index", FLD_REQUEST_PORTAL, lustre_handle);
+  dissector_add_uint("lnet.ptl_index", SEQ_METADATA_PORTAL, lustre_handle);
+  dissector_add_uint("lnet.ptl_index", SEQ_DATA_PORTAL, lustre_handle);
+  dissector_add_uint("lnet.ptl_index", SEQ_CONTROLLER_PORTAL, lustre_handle);
 }