aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-mpls-pm.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2014-11-09 14:00:01 -0500
committerMichael Mann <mmann78@netscape.net>2014-11-09 19:49:09 +0000
commit055e4768ece1033afaf952e161a1e5d75a62961f (patch)
treeed07b7c2d1e0fb65cbd985cb8a9aead9bd2a7f56 /epan/dissectors/packet-mpls-pm.c
parent3924310d86cee06ebfcc4534518d609cafb91ecf (diff)
Add subdissector table for MPLS PW Associated Channel Type
Change-Id: Id72fcbe74b91b4eb25fb4d3f3d47a1d53c2857b2 Reviewed-on: https://code.wireshark.org/review/5212 Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-mpls-pm.c')
-rw-r--r--epan/dissectors/packet-mpls-pm.c40
1 files changed, 14 insertions, 26 deletions
diff --git a/epan/dissectors/packet-mpls-pm.c b/epan/dissectors/packet-mpls-pm.c
index 3cfad17939..e149d92c2d 100644
--- a/epan/dissectors/packet-mpls-pm.c
+++ b/epan/dissectors/packet-mpls-pm.c
@@ -111,12 +111,6 @@ static int hf_mpls_pm_timestamp4_r_ntp = -1;
static int hf_mpls_pm_timestamp4_r_ptp = -1;
static int hf_mpls_pm_timestamp4_unk = -1;
-static dissector_handle_t mpls_pm_dlm_handle;
-static dissector_handle_t mpls_pm_ilm_handle;
-static dissector_handle_t mpls_pm_dm_handle;
-static dissector_handle_t mpls_pm_dlm_dm_handle;
-static dissector_handle_t mpls_pm_ilm_dm_handle;
-
/*
* FF: please keep this list in sync with
* http://www.iana.org/assignments/mpls-lsp-ping-parameters
@@ -1383,31 +1377,25 @@ proto_register_mpls_pm(void)
proto_register_field_array(proto_mpls_pm_dlm, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
-
- register_dissector("mpls_pm_dlm", dissect_mpls_pm_dlm,
- proto_mpls_pm_dlm);
-
- register_dissector("mpls_pm_ilm", dissect_mpls_pm_ilm,
- proto_mpls_pm_ilm);
-
- register_dissector("mpls_pm_dm", dissect_mpls_pm_delay,
- proto_mpls_pm_dm);
-
- register_dissector("mpls_pm_dlm_dm", dissect_mpls_pm_dlm_dm,
- proto_mpls_pm_dlm_dm);
-
- register_dissector("mpls_pm_ilm_dm", dissect_mpls_pm_ilm_dm,
- proto_mpls_pm_ilm_dm);
}
void
proto_reg_handoff_mpls_pm(void)
{
- mpls_pm_dlm_handle = find_dissector("mpls_pm_dlm");
- mpls_pm_ilm_handle = find_dissector("mpls_pm_ilm");
- mpls_pm_dm_handle = find_dissector("mpls_pm_dm");
- mpls_pm_dlm_dm_handle = find_dissector("mpls_pm_dlm_dm");
- mpls_pm_ilm_dm_handle = find_dissector("mpls_pm_ilm_dm");
+ dissector_handle_t mpls_pm_dlm_handle, mpls_pm_ilm_handle, mpls_pm_dm_handle,
+ mpls_pm_dlm_dm_handle, mpls_pm_ilm_dm_handle;
+
+ mpls_pm_dlm_handle = create_dissector_handle( dissect_mpls_pm_dlm, proto_mpls_pm_dlm );
+ dissector_add_uint("pwach.channel_type", 0x000A, mpls_pm_dlm_handle); /* FF: MPLS PM, RFC 6374, DLM */
+ mpls_pm_ilm_handle = create_dissector_handle( dissect_mpls_pm_ilm, proto_mpls_pm_ilm );
+ dissector_add_uint("pwach.channel_type", 0x000B, mpls_pm_ilm_handle); /* FF: MPLS PM, RFC 6374, ILM */
+ mpls_pm_dm_handle = create_dissector_handle( dissect_mpls_pm_delay, proto_mpls_pm_dm );
+ dissector_add_uint("pwach.channel_type", 0x000C, mpls_pm_dm_handle); /* FF: MPLS PM, RFC 6374, DM */
+ mpls_pm_dlm_dm_handle = create_dissector_handle( dissect_mpls_pm_dlm_dm, proto_mpls_pm_dlm_dm );
+ dissector_add_uint("pwach.channel_type", 0x000D, mpls_pm_dlm_dm_handle); /* FF: MPLS PM, RFC 6374, DLM+DM */
+ mpls_pm_ilm_dm_handle = create_dissector_handle( dissect_mpls_pm_ilm_dm, proto_mpls_pm_ilm_dm );
+ dissector_add_uint("pwach.channel_type", 0x000E, mpls_pm_ilm_dm_handle); /* FF: MPLS PM, RFC 6374, ILM+DM */
+
}
/*