[Ocfs2-tools-devel] [PATCH 1/1] wirshark-ocfs2: add dlm_migrate_request message support in dissector V2

Jeff Liu jeff.liu at oracle.com
Mon Jul 6 19:30:18 PDT 2009


using dlm_node_idx_handler to deal with master and new_master, it means the node number here.

Signed-off-by: Jeff Liu <jeff.liu at oracle.com>
---
 epan/dissectors/packet-ocfs2.c |   33 +++++++++++++++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/epan/dissectors/packet-ocfs2.c b/epan/dissectors/packet-ocfs2.c
index 807ad32..affa69b 100644
--- a/epan/dissectors/packet-ocfs2.c
+++ b/epan/dissectors/packet-ocfs2.c
@@ -116,6 +116,8 @@ static int hf_dlm_blocked_type = -1;
 static int hf_dlm_dead_node = -1;
 static int hf_dlm_domain_name_len = -1;
 static int hf_dlm_domain_name = -1;
+static int hf_dlm_master = -1;
+static int hf_dlm_new_master = -1;
 
 
 #define TCP_PORT_OCFS2	7777
@@ -743,6 +745,14 @@ struct dlm_lock_request
 	guint16 pad1;	// unused
 	guint32 pad2;	// unused
 };
+struct dlm_migrate_request {
+	guint8 master;
+	guint8 new_master;
+	guint8 namelen;
+	guint8 pad1;
+	guint32 pad2;
+	guint8 name[O2NM_MAX_NAME_LEN];
+};
 struct dlm_reco_data_done
 {
 	guint8 node_idx;
@@ -909,6 +919,23 @@ static struct dlm_msg_struct_def dlm_struct_defs[] = {
 		{ DLM_MSG_STRUCT_DEF_END }
 	}
 },
+{ "dlm_migrate_request", "DLM Migrate Request", DLM_MIGRATE_REQUEST_MSG,
+	&ett_dlm_migrate_request, {
+		{ "master",	&hf_dlm_master,
+		FIELD_OFFSET_AND_SIZE(struct dlm_migrate_request, master),
+		dlm_node_idx_handler},
+		{ "new_master",	&hf_dlm_new_master,
+		FIELD_OFFSET_AND_SIZE(struct dlm_migrate_request, new_master),
+		dlm_node_idx_handler},
+		{ "namelen",	&hf_dlm_namelen,
+		FIELD_OFFSET_AND_SIZE(struct dlm_migrate_request, namelen),
+		dlm_namelen_handler},
+		{ "name",	&hf_dlm_name,
+		FIELD_OFFSET_AND_SIZE(struct dlm_migrate_request, name),
+		dlm_name_handler},
+		{ DLM_MSG_STRUCT_DEF_END }
+	}
+},
 { "dlm_reco_data_done", "DLM Recovery Data Done (recovery)", DLM_RECO_DATA_DONE_MSG, &ett_dlm_recovery_data_done, {
 	{ "node_idx",	&hf_dlm_node_idx,	FIELD_OFFSET_AND_SIZE(struct dlm_reco_data_done,node_idx),	dlm_node_idx_handler},
 	{ "dead_node",	&hf_dlm_dead_node,	FIELD_OFFSET_AND_SIZE(struct dlm_reco_data_done,dead_node),	dlm_node_idx_handler},
@@ -1336,6 +1363,12 @@ void proto_register_ocfs2(void)
 		{ &hf_dlm_domain_name, { "Domain Name", "ocfs2.dlm.domain_name",
 					FT_STRING, BASE_NONE, NULL, 0x0,
 					"Domain name", HFILL } },
+		{ &hf_dlm_master, { "Master", "ocfs2.dlm.master",
+					FT_UINT8, BASE_DEC, NULL, 0x0,
+					"Master", HFILL } },
+		{ &hf_dlm_new_master, { "New Master", "ocfs2.dlm.new_master",
+					FT_UINT8, BASE_DEC, NULL, 0x0,
+					"New Master", HFILL } },
 	};
 	static gint *ett[] = {
 		&ett_ocfs2,
-- 
1.5.4.3




More information about the Ocfs2-tools-devel mailing list